Créer une clé primaire auto-incrémentée

Fermé
artemis0 Messages postés 903 Date d'inscription vendredi 3 janvier 2014 Statut Membre Dernière intervention 28 juillet 2018 - Modifié le 6 avril 2017 à 16:03
artemis0 Messages postés 903 Date d'inscription vendredi 3 janvier 2014 Statut Membre Dernière intervention 28 juillet 2018 - 6 avril 2017 à 21:09
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
A voir également:

3 réponses

yg_be Messages postés 22723 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476
6 avril 2017 à 19:07
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?
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
6 avril 2017 à 19:09
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....
0
artemis0 Messages postés 903 Date d'inscription vendredi 3 janvier 2014 Statut Membre Dernière intervention 28 juillet 2018 178
6 avril 2017 à 21:09
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 ?)
0
Ikebukuro Messages postés 32 Date d'inscription jeudi 10 janvier 2008 Statut Membre Dernière intervention 8 octobre 2020 4
Modifié le 16 mai 2020 à 18:25
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?

0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
6 avril 2017 à 19:50
Hello,
Le "pourquoi" est simple à comprendre ....; c'est juste une erreur faite par tous (ou presque...) les débutants.
Je pense que nos multiples explications suffiront à lui faire changer d'avis ... et à laisser mysql gérer les id auto-incrémenté comme un grand. :-)
0