即使使用
,我的自动增量键也会出现间隙innodb_autoinc_lock_mode = 0
我将问题分离为单个INSERT ... SELECT语句。基本上,即使没有实际执行插入(重复键),每个INSERT ... SELECT语句也会将表的auto_increment增加一个。在我的情况下,我使用INSERT IGNORE,但我测试没有,auto_increment仍然错误地增加。
我担心这个,因为这个INSERT ... SELECT语句运行的频率有些高,所以键很快就会变大。
如果没有办法,我会忍受它,但有没有办法避免这种行为?
答案 0 :(得分:2)
这是一个错误。见:http://bugs.mysql.com/bug.php?id=61058
...你可以使用以下方法来避免它:
ALTER TABLE `test` AUTO_INCREMENT = 1;
每insert...select
之后
然而,这不是一个好主意,因为alter table
创建临时表,复制数据等等。
答案 1 :(得分:0)
看起来像是mysql中的常见问题。就个人而言,我只是忍受它。