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.

Était-ce utile?

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;

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top