我有一个带有autoincrement字段的表,我有例如1,2,3值,当我插入4并删除它时,下一个通常是5.我删除5并且很长一段时间后,说1周我再插入新记录4。
有人可以告诉我为什么会发生这种情况,为什么当我在很长一段时间内插入新记录后,它会获取此表的最后一个插入ID,并且没有考虑删除的记录。
PS:这种情况发生在很长一段时间后,当我在短时间内完成时它正常工作
答案 0 :(得分:5)
表列的最后一个自动增量值仅存储在内存中。它不会写入表格或其他内容。因此,如果重新启动服务器(即备份),最后一个增量值(5)将丢失,mysql将扫描表中表(4)中存在的最后一个值。