行业资讯 2025年08月6日
0 收藏 0 点赞 235 浏览 1007 个字
摘要 :

在使用MySQL时,auto_increment主键ID在insert插入时自增为2,而不是我们熟知的自增1,这是什么原因呢,有什么好的解决办法? 首先我们需要查看配置,执行如下SQL指令: ……

在使用MySQL时,auto_increment主键ID在insert插入自增为2,而不是我们熟知的自增1,这是什么原因呢,有什么好的解决办法

首先我们需要查看配置,执行如下SQL指令:

show variables like \'%increment%\';

执行结果发现:

auto_increment_increment    2
auto_increment_offset    1

注意:
1、auto_increment_increment (每次自增至的数量)
2、 auto_increment_offset(初始值)

由于默认设置的auto_increment_increment值等于2,这表示每次插入数据时,AUTO_INCREMENT的值都会自动增加 2。如果需要设置增加步长为其他值,只需要将数字替换为相应的值即可。

如果auto_increment_increment=2,比如我们将自增步长设置为1,执行如下SQL指令:

set @@global.auto_increment_increment=1;
set @@auto_increment_increment=1;

如果auto_increment_offset=2,执行如下SQL指令:

set @@global.auto_increment_offset=1;
set @@auto_increment_offset=1;

这样就实现自增的初始值从1开始,每次也以1的步长自增。

一般设置每次自增的数据属性和初始值的属性,即:

#每次自增为2
set @@auto_increment_increment =2;
#初始值设置成为2
set @@auto_increment_offset =2; 

此两个属性的设置是为了交替数据库的id不重复,设置的数值根据交替库的数量来设置。

当然,在创建表时,也可以通过设置AUTO_INCREMENT_INCREMENT和AUTO_INCREMENT值来指定该表的自增属性,例如:

CREATE TABLE demo_table (
id int(11) NOT NULL AUTO_INCREMENT,
...,
PRIMARY KEY (id)
) AUTO_INCREMENT = 1
/*!50100 AUTO_INCREMENT_INCREMENT=2 */;

以上就是MySQL 插入ID自增为2原因及解决办法,希望对你有帮助,欢迎持续关注潘子夜个人博客(www.panziye.com),学习愉快哦!

微信扫一扫

支付宝扫一扫

版权: 转载请注明出处:https://www.zuozi.net/10180.html

管理员

相关推荐
2025-08-06

文章目录 一、Reader 接口概述 1.1 什么是 Reader 接口? 1.2 Reader 与 InputStream 的区别 1.3 …

985
2025-08-06

文章目录 一、事件溯源 (一)核心概念 (二)Kafka与Golang的优势 (三)完整代码实现 二、命令…

463
2025-08-06

文章目录 一、证明GC期间执行native函数的线程仍在运行 二、native线程操作Java对象的影响及处理方…

347
2025-08-06

文章目录 一、事务基础概念 二、MyBatis事务管理机制 (一)JDBC原生事务管理(JdbcTransaction)…

455
2025-08-06

文章目录 一、SnowFlake算法核心原理 二、SnowFlake算法工作流程详解 三、SnowFlake算法的Java代码…

515
2025-08-06

文章目录 一、本地Jar包的加载操作 二、本地Class的加载方法 三、远程Jar包的加载方式 你知道Groo…

830
发表评论
暂无评论

还没有评论呢,快来抢沙发~

助力内容变现

将您的收入提升到一个新的水平

点击联系客服

在线时间:08:00-23:00

客服QQ

122325244

客服电话

400-888-8888

客服邮箱

122325244@qq.com

扫描二维码

关注微信客服号