我已经看到here当从表中删除记录时,MySQL不会使用AUTO_INCREMENT重新索引PRIMARY KEY。也就是说,如果我有
1 John Connor 12/05/1973
2 Peter Brown 04/03/1979
.....
50 Mike Kennedy 01/12/1975
我删除从ID = 3
开始到ID = 50
结尾的记录,然后插入以下内容(以完全相同的顺序,一个接一个):
Mark Carney 09/02/1970
Jimmy Johnson 14/09/1968
Roman Harley 19/05/1972
我最终会:
1 John Connor 12/05/1973
2 Peter Brown 04/03/1979
53 Roman Harley 19/05/1972
52 Jimmy Johnson 14/09/1968
51 Mark Carney 09/02/1970
当插入更多记录时,列ID会按预期增加(即54, 55, 56, ...
),但记录的顺序会反转。在上面的示例中,53
位于52
上方,52
位于51
之上。结果不应该是
1 John Connor 12/05/1973
2 Peter Brown 04/03/1979
51 Mark Carney 09/02/1970
52 Jimmy Johnson 14/09/1968
53 Roman Harley 19/05/1972
正如我们的常识告诉我们的那样?为什么较新的记录放在较旧的记录之上?如果这与“表格单元格”(一旦从ID = 3
到ID = 50
的记录被删除后腾空而来),那么为什么不51
取代3
} {},52
4
的地方和53
5
的地方?有没有办法改变这种行为?
P.S。我正在使用MySQL存储数据,使用PHP查询以及使用phpMyAdmin管理数据库。表格中的PK设置如下: ID INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY
。
提前谢谢!