如何更改 MySQL AUTO_INCREMENT 的起始編號?


MySQL AUTO_INCREMENT 值從 1 開始,但我們可以透過以下兩種方式更改它:

使用 ALTER TABLE 查詢

我們可以使用 ALTER TABLE 查詢更改 AUTO_INCREMENT 的起始值,如下所示:

ALTER TABLE table_name AUTO_INCREMENT = value;

示例

假設我們建立了一個表,其中包含一列“id”作為 AUTO_INCREMENT。現在,如果我們在其中插入值,則序列號將從 1 開始,如下面的查詢所示:

mysql> Create Table EMP(id int NOT NULL PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(10));
Query OK, 0 rows affected (0.07 sec)

mysql> Insert Into EMP(Name) Values('Aryan');
Query OK, 1 row affected (0.02 sec)

mysql> Insert Into EMP(Name) Values('Yash');
Query OK, 1 row affected (0.04 sec)

mysql> Select * from EMP;
+----+-------+
| id | NAME  |
+----+-------+
| 1  | Aryan |
| 2  | Yash  |
+----+-------+
2 rows in set (0.00 sec)

現在,如果我們想隨後更改序列號,則需要使用 ALTER TABLE 查詢更改 AUTO_INCREMENT 的值,如下所示:

mysql> Alter table emp auto_increment = 10;
Query OK, 2 rows affected (0.25 sec)
Records: 2 Duplicates: 0 Warnings: 0

mysql> Insert Into EMP(Name) Values('Daksh');
Query OK, 1 row affected (0.03 sec)

mysql> Insert Into EMP(Name) Values('Shayra');
Query OK, 1 row affected (0.06 sec)

mysql> Select * from EMP;
+----+--------+
| id | NAME   |
+----+--------+
| 1  | Aryan  |
| 2  | Yash   |
| 10 | Daksh  |
| 11 | Shayra |
+----+--------+
4 rows in set (0.00 sec)

上面的查詢已將 AUTO_INCREMENT 的值更改為 10,因此在之後插入新值時,我們將從 10 開始獲取序列號。

使用 CREATE TABLE 查詢

我們還可以在建立表時更改 AUTO_INCREMENT 值。這可以透過使用 CREATE TABLE 查詢指定 AUTO_INCREMENT 的值來完成,如下所示:

CREATE TABLE (Column1 INT PRIMARY KEY NOT NULL AUTO_INCREMENT, Column2 data type) AUTO_INCREMENT = value;

示例

mysql> Create Table EMP1(id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(10)) AUTO_INCREMENT = 100;
Query OK, 0 rows affected (0.11 sec)

上面的查詢在建立表時將 AUTO_INCREMENT 的值指定為 100。現在,如果我們在其中插入值,則序列號將從 100 開始,而不是預設值 1,如下所示:

mysql> Insert into emp1(name) values('Sohan');
Query OK, 1 row affected (0.04 sec)

mysql> Insert into emp1(name) values('Harshit');
Query OK, 1 row affected (0.05 sec)

mysql> Select * from emp1;
+-----+---------+
| id  | NAME    |
+-----+---------+
| 100 |   Sohan |
| 101 | Harshit |
+-----+---------+
2 rows in set (0.00 sec)

更新於: 2020年6月20日

123 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.