web-dev-qa-db-fra.com

Comment réinitialiser la clé primaire d'une table?

Dans ma table tbphotos j'avais 100 enregistrements. J'ai ensuite supprimé tous les enregistrements et maintenant que je veux redémarrer la saisie des données, je vois que ma clé primaire ne démarre pas à partir de 1, mais elle commence à partir de 101,

Existe-t-il un moyen de réinitialiser la clé primaire?

J'utilise un compte administrateur MySQL.

50
Kaveh

alter table foo AUTO_INCREMENT = 1

85
Donnie

Vous pouvez réinitialiser l'incrémentation automatique comme ceci:

ALTER TABLE tablename AUTO_INCREMENT = 1

Mais si vous comptez sur 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 un ID d'incrémentation automatique de base de données à cet effet.

29
Mark Byers

Si vous utilisez TRUNC au lieu de supprimer manuellement des enregistrements, votre clé primaire sera réinitialisée.

3
Vladimir Kocjancic

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 dans la 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;
2
icynets