加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

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

发布时间:2021-05-20 11:50:23 所属栏目:编程 来源:网络整理
导读:我使用INSERT IGNORE插入说500行,如果该行已经存在(基于一个唯一的字段)那么它什么都不做,如果没有它插入行. 我的问题是,只有10个不存在,每个插入的自动增量仍然增加,所以它上升了500,所以我最终得到了我的id的空白.我怎么阻止这个? 我试过了: SET global

我使用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序列.回滚或失败的交易可能会导致差距.

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读