我有一个MySql 5.1.52数据库,其中有一个表一直忘记了它的自动编号序列,然后又从1开始。此重置可能需要数小时、数天或数周时间。
一些人认为这与清除表有关,因为它是空的,所以无法维护其自动编号。我自己做了一些测试来证明这个理论是失败的。即使清除了所有行,表也会记住其自动编号序列。
你知道为什么会发生这种事吗?
InnoDB表在服务器启动时将其自动增量重置为MAX(auto_inc_column)+1。如果表为空,则重置为1。