删除MySQL表中的最后一行

时间:2013-12-18 23:16:08

标签: php mysql sql

当我删除MySQL表中的最后一行然后插入一个新行时,为什么id仍然会增加,就好像第一行没有被删除一样?有没有办法防止这种情况发生,所以它可能好像原来的行不在那里?这是一个例子

Teachers
id   first_name
0    joe
1    mike
2    jim

如果我删除“jim”然后插入“bob”,那么bob的id将为3,并且不会有id为2的条目。

4 个答案:

答案 0 :(得分:2)

因为 id 列已配置为自动增量,并且不能具有相同的值,除非您手动指定

答案 1 :(得分:1)

删除任何给定的行不会更改当前的自动增量值。

您可以通过运行

查看表的自动增量变量的当前值
SHOW TABLE STATUS LIKE 'mytable';

您可以通过运行

更改自动增量值
ALTER TABLE 'mytable' AUTO_INCREMENT = '1234';

答案 2 :(得分:0)

如果在删除行之后和插入新行之前,也可以使用ALTER TABLE表名AUTO_INCREMENT = 2,以便使id增量从2开始

答案 3 :(得分:0)

你需要在每次删除操作后执行此命令,这会将你的auto_increment重置为1将自动设置最后一个可用的id(在你的例子中为2)

ALTER TABLE table_name AUTO_INCREMENT = 1