6

我的自动递增键有间隙,即使使用

innodb_autoinc_lock_mode = 0

我将问题隔离为单个 INSERT ... SELECT 语句。基本上,即使没有实际执行插入(重复键),每个 INSERT ... SELECT 语句都会将表的 auto_increment 递增 1 。就我而言,我使用 INSERT IGNORE,但我没有进行测试,并且 auto_increment 仍然错误地递增。

我担心这个,因为这个 INSERT ... SELECT 语句运行的频率有点高,所以键很快就会变大。

如果没有办法,我会忍受它,但有没有办法避免这种行为?

4

2 回答 2

2

这是一个错误。看到这个:http
://bugs.mysql.com/bug.php?id=61058 ...你可以避免它使用:

ALTER TABLE `test` AUTO_INCREMENT = 1;

insert...select 然而,这不是一个好主意,因为创建alter table临时表,复制数据等等..

于 2013-04-06T17:40:51.063 回答
0

看起来像mysql中的一个常见问题。就我个人而言,我只是忍受它。

于 2012-06-20T13:58:46.460 回答