Comment réinitialiser la clé primaire d'une table?
-
05-07-2019 - |
Question
Dans mon tableau tbphotos
, j'avais 100 enregistrements. J'ai ensuite supprimé tous les enregistrements et maintenant que je veux redémarrer la saisie de données, je constate que ma clé primaire ne commence pas à 1, mais commence à 101,
Y a-t-il un moyen de réinitialiser la clé primaire?
J'utilise un compte administrateur MySQL.
La solution
alter table foo AUTO_INCREMENT = 1
Autres conseils
Vous pouvez réinitialiser l'incrémentation automatique de la manière suivante:
ALTER TABLE tablename AUTO_INCREMENT = 1
Mais si vous utilisez les valeurs d'auto-incrémentation, votre programme est très fragile. Si vous devez attribuer des numéros consécutifs à vos enregistrements pour que votre programme fonctionne, vous devez créer une colonne distincte à cet effet et ne pas utiliser d'identifiant d'incrémentation automatique dans la base de données à cette fin.
Si vous utilisez TRUNC au lieu de supprimer manuellement des enregistrements, votre clé primaire sera réinitialisée.
Le code ci-dessous est préférable si vous avez déjà des données dans la base de données mais que vous souhaitez réinitialiser l'ID à partir de 1 sans supprimer les données. Copier et exécuter en commande SQL
ALTER TABLE members DROP ID;
ALTER TABLE members AUTO_INCREMENT = 1;
ALTER TABLE members ADD ID int UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST;
Il s'agit du meilleur script pour réinitialiser l'incrémentation automatique:
ALTER TABLE foo MODIFIE votre incrément de colonne int (11) NON NULL AUTO_INCREMENT, AUTO_INCREMENT = 1;