Cho*_*eat 5 mysql auto-increment
它一直工作到现在,但是当我重新启动服务时,数据库丢失了我的表的自动增量值.这肯定是我对我的查询做的事情,因为我最近没有修改我的表.会是什么呢?
小智 3
这是记录的行为,它不是错误。
当服务器启动时,它会遍历每个(InnoDB)表以确定新的 auto_increment 值应该是什么。来自http://dev.mysql.com/doc/refman/5.0/en/innodb-auto-increment-handling.html:
只要服务器运行,InnoDB 就会使用内存中的自动递增计数器。当服务器停止并重新启动时,InnoDB 会重新初始化每个表的计数器,以便对表进行第一次 INSERT,如前所述。
当您部署导致表重建的 DDL 时,它会执行类似的操作,例如更改engine— 甚至将其更改为之前的相同值。