繁体   English   中英

删除MySQL表中的最后一行

[英]Deleting last row in MySQL table

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

Teachers
id   first_name
0    joe
1    mike
2    jim

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

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

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

您可以通过运行查看表的自动增量变量的当前值

SHOW TABLE STATUS LIKE 'mytable';

您可以通过运行更改自动增量值

ALTER TABLE 'mytable' AUTO_INCREMENT = '1234';

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

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

ALTER TABLE table_name AUTO_INCREMENT = 1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM