Comment réinitialiser AUTO_INCREMENT dans MySQL

Comment puis-je réinitialiser le paramétre AUTO_INCREMENT d’un champ ?

Je veux qu’il recommence à compter à partir de 1.

Vous pouvez réinitialiser le paramétre AUTO_INCREMENT à 1 avec la commande suivante:

ALTER TABLE tablename AUTO_INCREMENT = 1

Pour InnoDB, vous ne pouvez pas définir une valeur d’AUTO_INCREMENT inférieure ou égale à la valeur la plus élevée de l’index courant.

Essayez le code suivant pour remettre le compteur AUTO_INCREMENT à zéro :

SET  @num := 0;

UPDATE your_table SET id = @num := (@num+1);

ALTER TABLE your_table AUTO_INCREMENT =1;

Il existe un moyen très simple avec phpMyAdmin sous l’onglet « Opérations ». Dans l’onglet « Options pour cette table », vous pouvez définir l’auto-incrément au nombre que vous voulez.

La meilleure solution qui a fonctionné pour moi :

ALTER TABLE my_table MODIFY COLUMN ID INT(10) UNSIGNED;
COMMIT;
ALTER TABLE my_table MODIFY COLUMN ID INT(10) UNSIGNED AUTO_INCREMENT;
COMMIT;

C’est rapide, ça fonctionne avec InnoDB, et je n’ai pas besoin de connaître la valeur maximale actuelle !