协慌网

登录 贡献 社区

如何重置 MySQL 中的 AUTO_INCREMENT?

如何重置字段的AUTO_INCREMENT ?我希望它再次从1开始计数。

答案

您可以使用以下命令重置计数器

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;

我想这会做到的