您可以使用以下命令重置计数器
ALTER TABLE tablename AUTO_INCREMENT = 1
对于 InnoDB,您不能将auto_increment
值设置为低于或等于当前最高索引。 (引自ViralPatel ):
请注意,您不能将计数器重置为小于或等于任何已使用的值。对于 MyISAM,如果该值小于或等于 AUTO_INCREMENT 列中当前的最大值,则该值将重置为当前最大值加 1。对于 InnoDB,如果该值小于列中的当前最大值,则不会发生错误,并且不会更改当前序列值。
请参阅如何使用另一个表中的 MAX 值重置 MySQL AutoIncrement?关于如何动态获得可接受的值。
ALTER TABLE tablename AUTO_INCREMENT = 1
SET @num := 0;
UPDATE your_table SET id = @num := (@num+1);
ALTER TABLE your_table AUTO_INCREMENT =1;
我想这会做到的