【发布时间】:2010-07-29 07:43:06
【问题描述】:
我有一个带有自动增量字段的表,例如,我有 1、2、3 值,当我插入 4 并删除它时,下一个通常是 5。我删除 5 并在很长一段时间后,比如说 1 周当我插入新记录 下一个又是 4.
谁能告诉我为什么会发生这种情况,为什么当我在很长一段时间后插入一条新记录时,它得到了该表的最后插入的 id,并且没有考虑到已删除的记录。
PS:这种情况是在很长一段时间后发生的,当我在短时间内这样做时它工作正常
【问题讨论】:
-
任何 CRON 任务在您的表上运行?
-
我自己没有启动任何cron,但这是在付费主机上,所以他们可能会进行一些调整?
-
是否有可能在任何时候备份/恢复数据库,可能缺少或过时的 AUTO_INCREMENT 值?或者,AUTO_INCREMENT 列是多列索引的一部分吗?请参阅Using AUTO_INCREMENT - 特别是关于多列索引的部分。
-
关于备份我第一次想到,这次没有备份,谢谢第二个想法!