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_increment_increment与auto_increment_offset作用

SHOW VARIABLES LIKE 'version';

CREATE DATABASE tempdb;

USE tempdb;

-- 查看变量的值
SHOW VARIABLES LIKE '%auto_increment%';

2、演示auto_increment_increment与auto_increment_offset

复制代码
--常见演示表,使用auto_increment字句
CREATE TABLE t1(
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT , 
col VARCHAR(20) 
);

drop TABLE t1;

SELECT * FROM t1;
#id列可以不用我们写,直接插入,查看表数据后可以看到会自动帮助我们加上
INSERT INTO t1(col) VALUES ('xiaomo'),('xiaobo');
#可以看到id列起始值1,增量也是1.
SELECT * FROM t1;

--清空表
TRUNCATE TABLE t1;
-- 设置步长为5
SET SESSION auto_increment_increment=5;
SHOW VARIABLES LIKE '%auto_incre%';

#再次插入记录
INSERT INTO t1(col) VALUES ('xiaobai');

--看到步长以5位基数发生变化
SELECT  * FROM t1;

--设置初始值5
SET SESSION auto_increment_offset = 5;

SHOW VARIABLES LIKE '%auto_incre%';

TRUNCATE TABLE t1;

INSERT INTO t1(col) VALUES ('xiaoshi');

SELECT  * FROM t1;
复制代码

 

 

 

3、auto_increment_increment与auto_increment_offset取值范围

最小值分别都是1

 

最大值范围:

 

默认值:

 

4、全局与session级别的设置

 

 

5、已有auto_increment列值任一变量变化的情形

 刚开始:

 开始设置:

 运算规则:

auto_increment_offset运算

 

 

 

 

 

 

 

参考:https://blog.csdn.net/leshami/article/details/39779509

 

posted @   哩个啷个波  阅读(405)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示