auto_increment_increment控制列中值的增量,即步长。
auto_increment_offset确定AUTO_INCREMENT列值的起点,即初始值。
1、验证auto_increment_increment参数
#(1)查看默认参数配置 mysql> SHOW VARIABLES LIKE 'auto_inc%'; +--------------------------+-------+ | Variable_name | Value | +--------------------------+-------+ | auto_increment_increment | 1 | | auto_increment_offset | 1 | +--------------------------+-------+ 2 rows in set (0.00 sec) #(2)创建测试表autoinc1 mysql> CREATE TABLE autoinc1 (col INT NOT NULL AUTO_INCREMENT PRIMARY KEY); Query OK, 0 rows affected (0.00 sec) #(3)设置自增ID新步长为10 mysql> SET @@auto_increment_increment=10; Query OK, 0 rows affected (0.00 sec) mysql> SHOW VARIABLES LIKE 'auto_inc%'; +--------------------------+-------+ | Variable_name | Value | +--------------------------+-------+ | auto_increment_increment | 10 | | auto_increment_offset | 1 | +--------------------------+-------+ 2 rows in set (0.01 sec) #(4)插入空测试数据,验证自增情况 mysql> INSERT INTO autoinc1 VALUES (NULL), (NULL), (NULL), (NULL); Query OK, 4 rows affected (0.00 sec) Records: 4 Duplicates: 0 Warnings: 0 mysql> SELECT col FROM autoinc1; +-----+ | col | +-----+ | 1 | | 11 | | 21 | | 31 | +-----+ 4 rows in set (0.00 sec)
2、验证auto_increment_offset参数
#(1)修改初始偏移量 mysql> SET @@auto_increment_offset=5; Query OK, 0 rows affected (0.00 sec) mysql> SHOW VARIABLES LIKE 'auto_inc%'; +--------------------------+-------+ | Variable_name | Value | +--------------------------+-------+ | auto_increment_increment | 10 | | auto_increment_offset | 5 | +--------------------------+-------+ 2 rows in set (0.00 sec) #(2)创建测试表autoinc2 mysql> CREATE TABLE autoinc2 (col INT NOT NULL AUTO_INCREMENT PRIMARY KEY); Query OK, 0 rows affected (0.00 sec) #(3)插入测试数据 mysql> INSERT INTO autoinc2 VALUES (NULL), (NULL), (NULL), (NULL); Query OK, 4 rows affected (0.01 sec) Records: 4 Duplicates: 0 Warnings: 0 mysql> SELECT col FROM autoinc2; +-----+ | col | +-----+ | 5 | | 15 | | 25 | | 35 | +-----+ 4 rows in set (0.00 sec)
注:上述修改不会影响存量数据的自增ID情况,详情可以参考如下测试数据。
mysql> SHOW VARIABLES LIKE 'auto_inc%'; +--------------------------+-------+ | Variable_name | Value | +--------------------------+-------+ | auto_increment_increment | 10 | | auto_increment_offset | 5 | +--------------------------+-------+ 2 rows in set (0.00 sec) mysql> SELECT col FROM autoinc1; +-----+ | col | +-----+ | 1 | | 11 | | 21 | | 31 | +-----+ 4 rows in set (0.00 sec) mysql> INSERT INTO autoinc1 VALUES (NULL), (NULL), (NULL), (NULL); Query OK, 4 rows affected (0.00 sec) Records: 4 Duplicates: 0 Warnings: 0 mysql> SELECT col FROM autoinc1; +-----+ | col | +-----+ | 1 | | 11 | | 21 | | 31 | | 45 | | 55 | | 65 | | 75 | +-----+ 8 rows in set (0.00 sec)
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/128103.html
摘要:数据库自增机制原理介绍在分布式里面,数据库的自增机制的主要原理是数据库自增和数据库的函数实现的。 数据库自增ID机制原理介绍 在分布式里面,数据库的自增ID机制的主要原理是:数据库自增ID和mysql数据库的replace_into()函数实现的。这里的replace数据库自增ID和mysql数据库的replace_into()函数实现的。这里的replace into跟insert功...
摘要:下图中的值对应的是自增主键,用作为唯一索引后来过了很久,小给小指了个方向,小开始怀疑自己的插入更新语句了,查了许久,果然是这里除了问题。解决方案将设置为肯定可以解决问题,但这样的话,插入的并发性可能会受很大影响,因此小自己想着也不会同意。 引言 小A正在balabala写代码呢,DBA小B突然发来了一条消息,快看看你的用户特定信息表T,里面的主键,也就是自增id,都到16亿了,这才多久...
阅读 113·2024-11-07 18:25
阅读 130163·2024-02-01 10:43
阅读 789·2024-01-31 14:58
阅读 761·2024-01-31 14:54
阅读 82581·2024-01-29 17:11
阅读 2886·2024-01-25 14:55
阅读 1928·2023-06-02 13:36
阅读 2870·2023-05-23 10:26