资讯专栏INFORMATION COLUMN

MySQL自增ID怎么配置

社区管理员 / 531人阅读

  • 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 你可能还不知道

    摘要:本篇文章将以问答的形式讲述关于自增的一切。关于自增列我们该怎么维护维护方面主要提供以下点建议字段类型选择方面推荐使用无符号类型,若可预测该表数据量将非常大可改用无符号类型。多关注大表的自增值,防止发生主键溢出情况。 导读:在使用MySQL建表时,我们通常会创建一个自增字段(AUTO_INCREMENT),并以此字段作为主键。本篇文章将以问答的形式讲述关于自增id的一切。 注: 本文所讲...

    468122151 评论0 收藏0
  • 分布式ID系列(3)——数据库自增ID机制适合做分布式ID

    摘要:数据库自增机制原理介绍在分布式里面,数据库的自增机制的主要原理是数据库自增和数据库的函数实现的。 数据库自增ID机制原理介绍 在分布式里面,数据库的自增ID机制的主要原理是:数据库自增ID和mysql数据库的replace_into()函数实现的。这里的replace数据库自增ID和mysql数据库的replace_into()函数实现的。这里的replace into跟insert功...

    defcon 评论0 收藏0
  • 分布式ID系列(3)——数据库自增ID机制适合做分布式ID

    摘要:数据库自增机制原理介绍在分布式里面,数据库的自增机制的主要原理是数据库自增和数据库的函数实现的。 数据库自增ID机制原理介绍 在分布式里面,数据库的自增ID机制的主要原理是:数据库自增ID和mysql数据库的replace_into()函数实现的。这里的replace数据库自增ID和mysql数据库的replace_into()函数实现的。这里的replace into跟insert功...

    Stardustsky 评论0 收藏0
  • mysql自增id超大问题查询

    摘要:下图中的值对应的是自增主键,用作为唯一索引后来过了很久,小给小指了个方向,小开始怀疑自己的插入更新语句了,查了许久,果然是这里除了问题。解决方案将设置为肯定可以解决问题,但这样的话,插入的并发性可能会受很大影响,因此小自己想着也不会同意。 引言 小A正在balabala写代码呢,DBA小B突然发来了一条消息,快看看你的用户特定信息表T,里面的主键,也就是自增id,都到16亿了,这才多久...

    meislzhua 评论0 收藏0
  • mysql自增id超大问题查询

    摘要:下图中的值对应的是自增主键,用作为唯一索引后来过了很久,小给小指了个方向,小开始怀疑自己的插入更新语句了,查了许久,果然是这里除了问题。解决方案将设置为肯定可以解决问题,但这样的话,插入的并发性可能会受很大影响,因此小自己想着也不会同意。 引言 小A正在balabala写代码呢,DBA小B突然发来了一条消息,快看看你的用户特定信息表T,里面的主键,也就是自增id,都到16亿了,这才多久...

    dmlllll 评论0 收藏0

发表评论

0条评论

社区管理员

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<