一般MYSQL数据库的理解

时间:2013-01-20 05:29:40

标签: mysql

假设数据库有一个表格只有两列 ID,即自动增量名称是文字。当我们首先添加2个名称,然后删除这两个名称,下次再次输入另一个名称时,ID计数从数字3开始,而它应该从数字1开始。

问题是,是否有任何方法可以重置ID,以便在删除所有ID值后从0开始,而不是从最后删除的ID号继续增加?

6 个答案:

答案 0 :(得分:1)

以下是重置AUTO_INCREMENT值的SQL查询:

ALTER TABLE tablename AUTO_INCREMENT = 0

答案 1 :(得分:0)

是的,你可以

ALTER TABLE mytable AUTO_INCREMENT = 0

但为什么要这么麻烦?宇宙中有很多数字甚至是32位!

答案 2 :(得分:0)

我认为这会做你想要的。

ALTER TABLE table_name AUTO_INCREMENT = 1;

答案 3 :(得分:0)

ALTER TABLE yourtable AUTO_INCREMENT = 1

答案 4 :(得分:0)

肯定有!

ALTER TABLE 'mytable' AUTO_INCREMENT = 0;

这会将自动增量重置为0并从那里继续。

来自MySQL-dev的一般性说明:

  

您无法将计数器重置为小于或等于任何已使用过的值。对于MyISAM,如果该值小于或等于AUTO_INCREMENT列中当前的最大值,则该值将重置为当前最大值加1。对于InnoDB,如果该值小于列中的当前最大值,则不会发生错误,并且不会更改当前序列值。

答案 5 :(得分:0)

您可以使用Truncate

TRUNCATE TABLE yourtable;

类似于删除表格的所有行但有一些差异,包括将自动增量重置为0.