Mysql设置auto_increment_increment和auto_increment_offset

mysql数据库之DDL-标识列自增长列 mysql数据库之DDL-标识列自增长列 #标识列 MODIFY 修改 COLUMN 栏目 控制某个字段 又称为自增长列 含义:可以不用手动的插入值,系统提供默认的序列值(从1开始,每次都会再增长1) auto_increment自增长 特点: 1.仅仅只能有一个标识列 2.并且该列必须是一个key(主键、唯一键、外键,自定义)MySQL是这样的 3.标识列类型只能是数值型 展示变量   SHO... 阅读详情
AI摘要

本文详细介绍了MySQL中自增长字段(auto_increment)的配置与管理技巧,包括如何设置auto_increment_offset和auto_increment_increment参数避免主主同步时的冲突,以及如何在创建表或修改表时指定自增值的初始值。

 

查看与设置: 

show variables like '%auto_inc%';           
show session variables like '%auto_inc%';   --  //session会话变量 
show global variables like '%auto_inc%';   --  //全局变量 
  SET @auto_increment_increment = 3 ;
  SET session auto_invrement_increment=2; 
  SET global auto_increment_increment=1;

 

  第一种和第二种是一样的效果,第三个是修改全局的变量;

mysql中有自增长字段,在做数据库的主主同步时需要设置自增长的两个相关配置:auto_increment_offset和auto_increment_increment。

  • auto_increment_offset表示自增长字段从那个数开始,他的取值范围是1 .. 65535
  • auto_increment_increment表示自增长字段每次递增的量,其默认值是1,取值范围是1 .. 65535

在主主同步配置时,需要将两台服务器的auto_increment_increment增长量都配置为2,而要把auto_increment_offset分别配置为1和2.

这样才可以避免两台服务器同时做更新时自增长字段的值之间发生冲突。

 

------------------------------------------------------------------------------------------------------------------------------------------------

-->创建表时指定AUTO_INCREMENT自增值的初始值:

    mysql>CREATE TABLE BIN_TBL (ID INT(5) PRIMARY KEY AUTO_INCREMENT)AUTO_INCREMENT=100;

-->通过ALTER TABLE 修改初始值(但要大于表中的AUTO_INCREMENT自增值,否则设置无效):

    mysql>ATLER TABLE BIN_TBL AUTO_INCREMENT=100;

-->如果自增序列的最大值被删除了,则在插入新记录时,该值被重用。

    就是说如果表中原本有AUTO_INCREMENT属性值连续为78、100的值,但100这个数据被删除了,下此再添加数据的时候自增值为101,100被重用了。

    即使在你将整个表中的所有数据delete清空后,之前的自增序列最大值还是会被重用。解决办法是:

    使用ATLER TABLE BIN_TBL AUTO_INCREMENT=0;重新设置自增初始值。

-->设置AUTO_INCREMENT_INCREMENT以及AUTO_INCREMENT_offset用户变量值:(重启MySQL之后,这些修改会恢复为初始值1)

  mysql>SET auto_increment_increment=10;      #自增量每次增加的值改为10,

  mysql>SET auto_increment_offset=2;             #第一次加载数值时的偏移值的个位值

  mysql>SHOW VARIABLES LIKE 'AUTO_INC%'; #查看修改后变量的值

 

MySQL 自增(auto_increment) 两个自增变量 auto_increment_increment:自增步长(每次自增的变化量) auto_increment_offset:自增偏移(自增初始位置) @用户变量 @@系统变量,全局和每个会话的相应变量值都被修改,所有会话立即生效global,全局变量值被修改,新建会话时全局变量赋值给会话变量,新建会话才生效 session,当前会话的变量值被修改,当前会话立即生效建表 阅读详情

相关推荐

MySQL查询和修改auto_increment的方法

主要介绍了MySQL查询和修改auto_increment的方法,实例分析了select查询auto_increment及ALTER修改auto_increment的技巧,需要的朋友可以参考下

MySQL中的auto_increment

文章目录一、AUTO_INCREMENT1.1 测试二、auto_increment_increment和auto_increment_offset2.1 解释2.2 测试auto_increment_incrementauto_increment_offset当两者同时更改三.组复制中的group_replication_auto_increment_increment1.解释2.操作2.1 配置2.2 插数据 一、AUTO_INCREMENT AUTO_INCREMENT 属性可用于为新行生成唯一标识

耿进 7632

AUTOSAR BswM配置实战:手把手教你用Vector Davinci Configurator搭建第一个模式管理规则

本文详细介绍了如何使用Vector Davinci Configurator工具配置AUTOSAR BswM模块,实现车身控制ECU的模式管理规则。通过实战案例,从环境准备、核心概念梳理到具体配置步骤,包括ModeRequestPort、ModeCondition、Logical Expression和Rules的构建,帮助工程师快速掌握BswM配置技巧,提升汽车电子软件开发效率。

weixin_28678831的博客 351

MySQL系统变量auto_increment_increment与auto_increment_offset学习总结

在MySQL中,系统变量auto_increment_increment与auto_increment_offset是与自增列相关的两个参数变量。在官方文档中,将其划分为Replication Master Options and Variables 。具体参考官方文档17.1.6.2Replication Master Options and Variables auto_incr...

weixin_30872671的博客 4093

实战指南:轻松破解DataDome滑块验证码的关键步骤

本文详细介绍了破解DataDome滑块验证码的关键步骤,包括理解其工作原理、准备工作、参数获取与配置、完整破解流程及API调用。通过使用Capsolver服务和模拟真实用户行为,帮助开发者有效绕过这一反机器人机制,同时强调了法律与道德考量。

weixin_30415113的博客 480

迪文串口屏开发环境搭建全流程:从DGUS Tool到串口联调

串口屏作为嵌入式人机交互的核心组件,通过串口通信实现主控MCU与显示终端的指令交互。其工作原理基于变量地址映射,主控读写VP地址即可驱动屏上控件,兼具低功耗与高稳定性。在工业控制、医疗设备及智能家居面板等场景中,串口屏能显著降低开发门槛与硬件成本。迪文屏凭借DGUS Tool上位机与自定义串口协议,成为主流选择。掌握DGUS Tool版本匹配、串口驱动安装及VP地址规划,是快速搭建开发环境的关键。

weixin_33937499的博客 603

mysql auto increment offset_MySQL auto_increment_increment,auto_increment_offset 用法

MySQL中对于表上ID自增列可以在创建表的时候来指定列上的auto_increment属性;等同于SQL server中的identity属性;Oracle则是通过Sequence方式来实现。在MySQL中,系统变量auto_increment_increment,auto_increment_offset 影响自增列的值及其变化规则。本文主要描述这两个系统变量的相关用法。1、auto_incr...

weixin_34154352的博客 2463

LVGL colorwheel组件教程一(调色板)

【代码】LVGL colorwheel组件教程一(调色板)

摸鱼专家 431

如何理解MySQL表的自动新增AUTO_INCREMENT的值和步长

4.当 auto_increment_offset auto_increment_increment),步长为2。

2409_88111753的博客 1413

1、基于改进3D卷积神经网络的阿尔茨海默病分类

本文提出了一种基于改进3D卷积神经网络的阿尔茨海默病(AD)分类方法,利用3D CNN对预处理后的T1加权MRI数据进行空间特征提取,并在VGG网络结构中引入类似ResNet的跳跃连接以缓解模型退化和过拟合问题。实验基于ADNI数据集,包含AD、MCI和NC三类样本,结果表明改进后的3D VGG模型在AD/NC、MCI/NC及多分类任务中均取得了优异性能,尤其在AD/MCI/NC分类中准确率达到98.50%,优于现有典型3D深度学习方法。研究验证了3D CNN在脑部疾病诊断中的有效性,并为AD的早期识别提供

kk1234的博客 89

控制科学与工程(自动化)保研经验【2】——南开、同济篇

禁止转载 1、南开人工智能学院夏令营   保研之旅第一个夏令营就是南开,南开夏令营非常早(6月份),当时我们专业仅有两人入营。夏令营前一天我们两个坐高铁来到了天津,几经辗转来到了南开的津南校区,非常偏僻。在自己找的酒店住了一晚,第二天一早去学院报到,资格审查、报销路费等等,然后开营仪式,吃饭,入住酒店,实验室参观。   开营仪式和实验室参观了解到,南开人工智能学院是国内第一批人工智能学院,和很多高...

Control Everything 6532

你真的懂自增主键(auto_increment)?

   自增主键是我们在设计数据库表结构时经常使用的主键生成策略,主键的生成可以完全依赖数据库,无需人为干预,在新增数据的时候,我们只需要将主键设置为null,0或者不设置该字段,数据库就会为我们自动生成一个主键值。而且,自增主键是整数型,单调递增,对创建索引也十分友好,    自增主键使用起来方便、简单,但是你真的了解它吗?或者可以尝试回答一下几个问题? 1.自增主键标识符 auto_increment 如何增长? 2.并发环境下,数据库是如何保证主键值的正确性的? 3.可以用最大主键代替count()吗?

weixin_45701550的博客 5万+

【S32K3 MCAL配置】-1.1-GPIO配置及其应用-DIO之高低电平输出-点亮LED灯(基于MCAL)

【S32K3 MCAL配置】-1.1-GPIO配置及其应用-点亮LED灯(基于MCAL)

「汽车电子助手」的博客 1937

mysql increment by_Mysql设置auto_increment_increment和auto_increment_offset

查看与设置:show variableslike '%auto_inc%';show session variableslike '%auto_inc%'; --//session会话变量show global variables like '%auto_inc%'; --//全局变量SET @auto_increment_increment = 3 ;SET session auto_i...

weixin_29224347的博客 347

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

MySQL id从1开始连续自增 AUTO_INCREMENT_OFFSET AUTO_INCREMENT_INCREMENT

问题: 设置id列为自增,却发现id值不连续,也不是从1开始的 解决方法: 很简单,先设置临时全局变量。 设置AUTO_INCREMENT_OFFSET=1,表示id的起始值从1开始增长(但不表示第一个id就是1,看下面就懂了); 设置AUTO_INCREMENT_INCREMENT=1;表示id的增长偏移量为1,就是下一个id比上一个id大1; tip:为什么说是临时全局变量,因为MySQL重启...

一只小辣鸡 2925

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

MYSQL中的auto_increment_increment和auto_increment_offset

这两个参数在MYSQL中大致有两个作用 控制自增列AUTO_INCREMENT的行为用于MASTER-MASTER之间的复制,防止出现重复值 下面从网上摘录了一些资料,分别对这两个方面进行解释 ############################ auto_i

朝着梦想 渐行前进 1万+

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

mysql 全局 increment,在MySQL中永久设置auto_increment_offset

I ran the command as root:set @@auto_increment_offset = 2;But the effect cannot be seen from other connections. Why not? It is global.From http://dev.mysql.com/doc/refman/5.1/en/replication-options-...

weixin_30304423的博客 291

mysql auto_increment_increment_mysql中auto_increment的incrementoffset

auto_increment_increment和auto_increment_offset可以在全局global,本地session或者local动态设置这两个参数以控制auto_increment的增量与偏移量。当修改auto_increment_offset之后的第一个auto_increment值一定是能够满足大于当前auto_increment最大值的最小倍数值,之后再插入新值增量就为a...

weixin_30798867的博客 460

MySQL自增属性auto_increment_increment和auto_increment_offset

  MySQL的系统变量或会话变量auto_increment_increment(自增步长)和auto_increment_offset(自增偏移量)控制着数据表的自增列ID。    mysql> show tables;    Empty set (0.00 sec)    mysql> CREATE TABLE `test_tb1` ( `id` int(4) NOT NULL ...

weixin_33770878的博客 1450

mysql中自增auto_increment功能的相关设置及问题

mysql中的自增auto_increment功能相信每位phper都用过,也都知道如何设置字段为自增字段,但并不是所有phper都知道auto_increment的起始值和递增量是如何设置的!本文就为大家分享一下mysql字段自增功能的具体查看及设置方法。涉及知识介绍: mysql服务器维护着2种mysql的系统参数(系统变量):全局变量(global variables)和会话变量(session variables)。它们的含义与区别如其各占的名称所示,session variables是在ses..

chijiansong的博客 682

mysql的auto_increment

auto_increment作用:用来指定一个自增的初始值; 如果不指定值默认初始值为1 建表语句 插入数据 插入第一个数据可以看到id是从2开始 自增主键不能保证连续递增 在空表执行insert into aa values(null,1,1); 插入一条数据后,再执行show create table命令 表定义中AUTO_INCREMENT=3,表示下一次插入数据时,如果要自动生成自增值,会生成id=3。 自增值保存在表结构定义里。实际上,表结构定义存放在后缀名为.frm的文件中,但

大菜菜的博客 1万+

SQL auto_increment

1、MYSQL中的auto_increment相当于SQL server中的identity,ORACLE中的sequence2、被设为auto_increment的字段一定要被设为key3、auto_increment_increment控制列中的值的增量值,也就是步长。 auto_increment_offset确定AUTO_INCREMENT列值的起点,也就是初始值。4、看出2个变量只能设置

littlehui1的博客 1695
上一篇: MySQL的BlackHole引擎
下一篇: MySQL的分片
xinyuan_java
博客等级 码龄12年 181粉丝 83原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值