为什么MySQL表自动增量重置为0?
今天我发现几个表的为什么MySQL表自动增量重置为0?,mysql,ruby-on-rails,centos,Mysql,Ruby On Rails,Centos,今天我发现几个表的auto_increment值被重置为0。为什么? Rails 2.3.x MySql 5.0.x 资料: 表通常为空(创建行,然后删除行) 服务器是init6 应用程序取决于自动增量id,因此我想知道如何防止这种情况再次发生。让我猜猜:您正在使用InnoDB InnoDB存储引擎;当MySQL重新启动时,它被重置 解决方案是将表中的最高值存储在某个位置,并在系统启动时将其恢复。或者,根据您的用例,您可能会发现保留一个MyISAM表只是为了提供AUTO_INCREMEN
auto_increment
值被重置为0。为什么?
- Rails 2.3.x
- MySql 5.0.x
- 表通常为空(创建行,然后删除行)
- 服务器是
init6
应用程序取决于自动增量id,因此我想知道如何防止这种情况再次发生。让我猜猜:您正在使用InnoDB InnoDB存储引擎;当MySQL重新启动时,它被重置 解决方案是将表中的最高值存储在某个位置,并在系统启动时将其恢复。或者,根据您的用例,您可能会发现保留一个MyISAM表只是为了提供
AUTO_INCREMENT
值很有用
您可以找到。是的,它是InnoDB。我可以通过将表从InnoDB转换为MyISAM来解决这个问题吗?@ohho,你可以,但是你会失去InnoDB和MyISAM所没有的所有功能,比如对事务和引用完整性的支持。我不知道你是否用过这些。非常感谢你提供的信息和解释。我会检讨守则,并按守则行事。