假设数据库有一个表,它只有两列ID是 Auto increment和name 是 text。当我们第一次添加2个名字,然后删除两个名字,下次再输入另一个名字,ID计数从数字3开始,而它应该从数字1开始。
问题是有没有办法重置 ID,以便在删除所有 ID 值后从 0 开始,而不是从被删除的最后一个 ID 号继续递增?
假设数据库有一个表,它只有两列ID是 Auto increment和name 是 text。当我们第一次添加2个名字,然后删除两个名字,下次再输入另一个名字,ID计数从数字3开始,而它应该从数字1开始。
问题是有没有办法重置 ID,以便在删除所有 ID 值后从 0 开始,而不是从被删除的最后一个 ID 号继续递增?
这是重置AUTO_INCREMENT
值的 SQL 查询:
ALTER TABLE tablename AUTO_INCREMENT = 0
是的你可以
ALTER TABLE mytable AUTO_INCREMENT = 0
但是为什么要打扰呢?宇宙中有很多数字,甚至是 32 位!
我认为这将满足您的需求。
ALTER TABLE table_name AUTO_INCREMENT = 1;
ALTER TABLE yourtable AUTO_INCREMENT = 1
肯定有!
ALTER TABLE 'mytable' AUTO_INCREMENT = 0;
这会将自动增量重置回 0 并从那里继续。
MySQL-dev的一般说明:
您不能将计数器重置为小于或等于任何已使用的值。对于 MyISAM,如果该值小于或等于 AUTO_INCREMENT 列中当前的最大值,则该值重置为当前最大值加一。对于 InnoDB,如果该值小于该列中的当前最大值,则不会发生错误,并且当前序列值不会改变。