我在MySQL和PHP中遇到自动递增ID的问题,这是现场情况,我创建了一个将数据插入到数据库中的表单。我使用表格查看从表单存储在.php文件中的所有数据。我存储了5行数据,当我删除第三行时,我注意到第四行的ID不会更改为3。有没有办法设置ID来替换已删除的行?
答案 0 :(得分:4)
听起来您正在以不应该使用的方式使用该ID。
您可以阅读here:
将任何其他值插入到AUTO_INCREMENT列中时,该列将设置为该值并重置顺序,以便下一个自动生成的值从最大列的值开始依次出现。例如:
INSERT INTO animals (id,name) VALUES(100,'rabbit');
INSERT INTO animals (id,name) VALUES(NULL,'mouse');
SELECT * FROM animals;
+-----+-----------+
| id | name |
+-----+-----------+
| 1 | dog |
| 2 | cat |
| 3 | penguin |
| 4 | lax |
| 5 | whale |
| 6 | ostrich |
| 7 | groundhog |
| 8 | squirrel |
| 100 | rabbit |
| 101 | mouse |
+-----+-----------+
...因此,如果是因为您担心某个“后继”值(删除第3行之后)会获得一个ID(不是最高值),那么您就不需要担心。
如果无法回答您的问题,请提供有关为什么这是问题的更多信息来更新您的问题。