Partage
  • Partager sur Facebook
  • Partager sur Twitter

[SQL] id automatique.

Reprendre la valeur d'un id éffacé.

    24 juillet 2011 à 16:28:00

    Bonjour :D , je voulais savoir si il était possible avec l'incrémentation automatique de l'id, de reprendre la valeur d'un id qui est supprimer pour toujours avoir une suite !

    Ex:
    id nom prénom
    1 DUPONT Roger
    2 MARTIN Katia
    3 DURAND James
    4 BERNARD Tom


    Imaginons que DURAND James supprime son compte, donc l'id numéro 3 sera supprimé et lorsque on ajoute une nouvelle donnée elle prendra automatiquement la valeur 5.

    id nom prénom
    1 DUPONT Roger
    2 MARTIN Katia
    4 BERNARD Tom
    5 RICHARD Daniel


    Alors que je voudrais que la nouvelle entrée prenne la place de l'id qui a était supprimé comme ci-dessous :

    id nom prénom
    1 DUPONT Roger
    2 MARTIN Katia
    3 RICHARD Daniel
    4 BERNARD Tom


    J'espère avoir une réponse efficace, Merci !
    • Partager sur Facebook
    • Partager sur Twitter
      24 juillet 2011 à 17:04:28

      Possible mais lent et compliqué, et surtout inutile et dangereux...
      • Partager sur Facebook
      • Partager sur Twitter
        24 juillet 2011 à 21:15:24

        Je ne comprend pas pourquoi vous dites "inutile et dangereux" ...
        • Partager sur Facebook
        • Partager sur Twitter
          24 juillet 2011 à 23:56:04

          Parce que ça n'a absolument aucun intérêt. Pour le côté dangereux, mise en scène simple : tu as un site web où tu as deux administrateurs, tu veux supprimer le compte du membre X mais le deuxième administrateur le supprime un peu avant toi, donc vous virez le même id deux fois, mais comme il est automatiquement remplacé par quelqu'un d'autre, tu vires un membre innocent pour aucune raison. C'est un exemple parmi tant d'autres, bien des comportements indésirables peuvent se produire.

          Une clé primaire doit être unique et jamais réutilisée, par définition.
          • Partager sur Facebook
          • Partager sur Twitter
            25 juillet 2011 à 9:35:37

            D'accord je vois, bon j'ai plus qu'a trouver une autre solution.
            • Partager sur Facebook
            • Partager sur Twitter
              25 juillet 2011 à 11:56:00

              Pourquoi tu dois trouver une autre solution ?
              C'est pour toi un problème qui n'en est réellement pas un.
              • Partager sur Facebook
              • Partager sur Twitter
                25 juillet 2011 à 13:23:40

                Je voulais créer une table ou il me fallait une suite de nombres, le pourquoi est assez compliqué a expliquer ! Mais le problème est résolue, Bref pour toutes les tables en incrémentation automatique, si il y a beaucoup d'intervalle sa ne pose aucun problème ?
                • Partager sur Facebook
                • Partager sur Twitter
                  25 juillet 2011 à 13:27:20

                  Non vraiment aucun problème. Encore une fois le but d'une clé primaire est d'assurer l'unicité, il n'est donc pas obligatoire que ses valeurs soient successives.
                  • Partager sur Facebook
                  • Partager sur Twitter

                  [SQL] id automatique.

                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                  • Editeur
                  • Markdown