如何在MySQL中没有更改的忽略插入上停止自动增量?

前端之家收集整理的这篇文章主要介绍了如何在MySQL中没有更改的忽略插入上停止自动增量?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我使用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运行时无法更改.

您必须在命令行中进行设置

--innodb_autoinc_lock_mode=0

或者在配置文件(MysqL.ini)中

innodb_autoinc_lock_mode=0

应该注意的是,你不应该(读:永远)依赖于连续的id序列.回滚或失败的交易可能会导致差距.

原文链接:https://www.f2er.com/mysql/433389.html

猜你在找的MySQL相关文章