数据库重启或者断电后,innodb表的自增字段的值会被重置,这是mysql官方上的一个bug(http://bugs.mysql.com/bug.php?id=199),请教大家都是怎么解决的?自己建表记录自增值的方法不适合我们项目。我是在windows平台使用mysql的。

解决方案 »

  1.   

    这个我认为不是bug
    auto_increment的计数的值是存在内存中的,而非磁盘上。当你重启服务他会读取表中最大的值的放入auto_increment的计数值中。
    这种重置可以说是再利用,减少一些浪费。也不会造成什么bug或重号的问题
    如现在是计数值3----》你删除掉3的列-----》计数值变为4------》当你重启服务----》表中最大的是2----》计数值是3
    ----》这样在插入的时候就是3,而不重启服务的话应该是4