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 l'entrée de données, je vois que ma clé primaire ne commence pas à partir de 1, mais elle commence à partir de 101,

Est-il possible de réinitialiser la clé primaire?

J'utilise le compte administrateur MySQL.

38
demandé sur Script47 2009-11-27 20:34:40

4 réponses

alter table foo AUTO_INCREMENT = 1

71
répondu Donnie 2009-11-27 17:41:16

Vous pouvez réinitialiser l'incrément 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 nombres consécutifs à vos enregistrements pour que votre programme fonctionne, vous devez créer une colonne distincte pour cela et ne pas utiliser un ID d'incrément automatique de base de données à cette fin.

26
répondu Mark Byers 2009-11-27 17:50:04

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

3
répondu Vladimir Kocjancic 2009-11-27 17:47:57

Le code ci-dessous est le meilleur si vous avez déjà des données dans la base de données mais que vous voulez réinitialiser l'ID de 1 sans supprimer les données. Copiez et exécutez 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;
0
répondu icyNETS 2017-10-12 17:27:57