mysql自动增量如何知道删除行后哪个ID继续?

时间:2012-05-29 10:54:45

标签: mysql sql auto-increment

如果我插入行并删除它们,A_I将知道从哪个键继续[我知道UNIQUE的东西]但我有兴趣了解过程以及mysql存储值的位置。仅仅是为了我的私人知识

欢呼声。

3 个答案:

答案 0 :(得分:4)

MySQL在内部维护当前值。

使用某个值后,永远不会再使用它。这甚至包括回滚事务,失败插入,删除记录等中使用的值

实际上,如果MySQL甚至尝试使用id,则计数器会递增,而MySQL将永远不再使用这些旧值。这个 naivity 使得分配唯一值的系统更简单,因此更快,更可靠。


好吧,差不多。你可以覆盖它并迫使MySQL重新开始从你选择的任何数字中自动递增值。但这通常通常既不必要也不推荐。

答案 1 :(得分:2)

如果某个表设置为使用自动增量,它会将当前索引存储在一个单独的变量中,每次插入某个变量时该变量都会递增。

答案 2 :(得分:0)

您可以使用LAST_INSERT_ID函数检索存储的变量。