[英]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.