2

今天发现auto_increment有几个表的值都被重置为0。为什么?

  • 导轨 2.3.x
  • MySql 5.0.x

信息:

  • 表通常是空的(创建行然后删除)
  • 服务器是init 6

该应用程序取决于 auto_increment id,所以我想知道防止这种情况再次发生。

4

1 回答 1

3

让我猜猜:您正在使用 InnoDB。

InnoDB 存储引擎将自动增量计数存储在内存中;它在 MySQL 重新启动时被重置。

一种解决方案是将最高值存储在某处的表中,并在系统启动时恢复它。或者,根据您的用例,您可能会发现保留一个 MyISAM 表只是为了提供AUTO_INCREMENT值很有用。

你可以在这里找到有趣的事实AUTO_INCREMENT汇编。

于 2013-03-25T10:46:27.923 回答