我使用INSERT IGNORE插入说500行,如果该行已经存在(基于一个唯一的字段)那么它什么都不做,如果没有它插入行.
我的问题是,只有10个不存在,每个插入的自动增量仍然增加,所以它上升了500,所以我最终得到了我的id的空白.我怎么阻止这个?
我试过了:
SET global innodb_autoinc_lock_mode = 0;
但我得到错误:
1238 – 变量’innodb_autoinc_lock_mode’是只读变量
我该如何改变?
最佳答案
根据MySQL’s documentation,innodb_autoinc_lock_mode不是动态变量,因此在MysqL运行时无法更改.
原文链接:https://www.f2er.com/mysql/433389.html您必须在命令行中进行设置
--innodb_autoinc_lock_mode=0
innodb_autoinc_lock_mode=0
应该注意的是,你不应该(读:永远)依赖于连续的id序列.回滚或失败的交易可能会导致差距.