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