Créer une clé primaire auto-incrémentée
artemis0
Messages postés
1031
Statut
Membre
-
artemis0 Messages postés 1031 Statut Membre -
artemis0 Messages postés 1031 Statut Membre -
bonjour,
j'ai créé une table avec une clé primaire auto-incrémentée, mais quand je supprime une ligne, la clé ne se met pas à jour pour les lignes suivantes. Comment faire pour que ce soit le cas ?
exemple :
1>>pierre
2>>jean
3>>Philippe
si je supprime la ligne 2, j'obtiens ceci :
1>>pierre
3>>Philippe
Comment faire pour que Philippe passe automatiquement à 2 ?
ps : j'utilise phpmyadmin
merci
j'ai créé une table avec une clé primaire auto-incrémentée, mais quand je supprime une ligne, la clé ne se met pas à jour pour les lignes suivantes. Comment faire pour que ce soit le cas ?
exemple :
1>>pierre
2>>jean
3>>Philippe
si je supprime la ligne 2, j'obtiens ceci :
1>>pierre
3>>Philippe
Comment faire pour que Philippe passe automatiquement à 2 ?
ps : j'utilise phpmyadmin
merci
3 réponses
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonjour, la clé primaire est permanente, elle ne va en principe jamais changer, en tous cas pas automatiquement. cela lui permet de servir de référence unique et permanente pour chaque enregistrement.
peux-tu expliquer ce que tu veux obtenir? une sorte de numéro d'ordre qui peut changer d'un moment à l'autre? -
Bonjour,
Il n'y a aucun interet à recalculer les ID ....
Bien au contraire c'est une source d'erreurs !
Par exemple, tu as une table utilisateur
1>>pierre
2>>jean
3>>Philippe
une table groupe
1>>Admin
2>>Modérateur
3>>invité
et une table memberofgroup (id_groupe, id_user )
1>> 3
1>>2
2>>3
1>>1
etc...
Si tu supprime le user 2... et que tu fais le recalcul .. alors l'association GROUPE / USER ne sera plus en concordance....-
ok. merci à tous pour vos réponses.
néanmoins, j'ai une autre question :
quand je crée la clé primaire sur phpmyadmin, je dois saisir une option "size". Sur le net, j'ai vu que les gens mettaient 255, mais je voudrais savoir à quoi ça correspond. Est-ce que c'est la limite de la clé primaire ? (il ne peut pas y avoir plus de 255 lignes dans ma table ?)
-
-
Attention, si tu fais cela, les jointures avec tes autres tables seront incorrectes, comme le dit Jordane d'ailleurs.
Concrètement, pourquoi veux-tu qu'il n'y ait pas de trou dans ta clé primaire?