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)
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/128103.html
摘要:數據庫自增機制原理介紹在分布式里面,數據庫的自增機制的主要原理是數據庫自增和數據庫的函數實現的。 數據庫自增ID機制原理介紹 在分布式里面,數據庫的自增ID機制的主要原理是:數據庫自增ID和mysql數據庫的replace_into()函數實現的。這里的replace數據庫自增ID和mysql數據庫的replace_into()函數實現的。這里的replace into跟insert功...
摘要:下圖中的值對應的是自增主鍵,用作為唯一索引后來過了很久,小給小指了個方向,小開始懷疑自己的插入更新語句了,查了許久,果然是這里除了問題。解決方案將設置為肯定可以解決問題,但這樣的話,插入的并發性可能會受很大影響,因此小自己想著也不會同意。 引言 小A正在balabala寫代碼呢,DBA小B突然發來了一條消息,快看看你的用戶特定信息表T,里面的主鍵,也就是自增id,都到16億了,這才多久...
閱讀 425·2024-11-07 18:25
閱讀 130640·2024-02-01 10:43
閱讀 922·2024-01-31 14:58
閱讀 888·2024-01-31 14:54
閱讀 82909·2024-01-29 17:11
閱讀 3215·2024-01-25 14:55
閱讀 2032·2023-06-02 13:36
閱讀 3128·2023-05-23 10:26