Sie können den Zähler zurücksetzen mit:
ALTER TABLE tablename AUTO_INCREMENT = 1
Für InnoDB
Sie können auto_increment
nicht setzen Wert kleiner oder gleich dem höchsten aktuellen Index. (Zitat aus ViralPatel
):
Beachten Sie, dass Sie den Zähler nicht auf einen Wert zurücksetzen können, der kleiner oder gleich einem bereits verwendeten Wert ist. Wenn der Wert für MyISAM kleiner oder gleich dem aktuellen Höchstwert in der AUTO_INCREMENT-Spalte ist, wird der Wert auf den aktuellen Höchstwert plus eins zurückgesetzt. Wenn der Wert für InnoDB kleiner als der aktuelle Maximalwert in der Spalte ist, tritt kein Fehler auf und der aktuelle Sequenzwert wird nicht geändert.
Siehe Wie kann ich ein MySQL AutoIncrement mit einem MAX-Wert aus einer anderen Tabelle zurücksetzen? wie man dynamisch einen akzeptablen Wert erhält.