Vous pouvez réinitialiser le compteur avec :
ALTER TABLE tablename AUTO_INCREMENT = 1
Pour InnoDB
vous ne pouvez pas définir le auto_increment
valeur inférieure ou égale à l'indice courant le plus élevé. (citation de ViralPatel
):
Notez que vous ne pouvez pas réinitialiser le compteur à une valeur inférieure ou égale à celles qui ont déjà été utilisées. Pour MyISAM, si la valeur est inférieure ou égale à la valeur maximale actuellement dans la colonne AUTO_INCREMENT, la valeur est réinitialisée au maximum actuel plus un. PourInnoDB, si la valeur est inférieure à la valeur maximale actuelle dans la colonne, aucune erreur ne se produit et la valeur de séquence actuelle n'est pas modifiée.
Voir Comment puis-je réinitialiser un MySQL AutoIncrement en utilisant une valeur MAX d'une autre table ? sur la façon d'obtenir dynamiquement une valeur acceptable.