修改 MySQL 列使其成為 AUTO_INCREMENT?


假設我們有一個表,現在需要在列名上新增 AUTO_INCREMENT。為此,請使用 MODIFY 命令。

在這裡,我們將首先建立一個演示表。

mysql>  create table AddingAutoIncrement
   -> (
   -> Id int,
   -> Name varchar(200),
   -> Primary key(Id)
   -> );
Query OK, 0 rows affected (0.47 sec)

我們上面建立了一個表,現在讓我們修改表以在列名“Id”上新增 AUTO_INCREMENT。語法如下:

alter table yourTableNamet modify yourColumnName int AUTO_INCREMENT;

應用上述語法新增 AUTO_INCREMENT。查詢如下。

mysql>  ALTER table AddingAutoIncrement modify Id int AUTO_INCREMENT;
Query OK, 0 rows affected (1.19 sec)
Records: 0  Duplicates: 0  Warnings: 0

在上面,我們在列名“Id”上添加了“AUTO_INCREMENT”。讓我們使用 DESC 命令檢查一下。查詢如下:

mysql> desc AddingAutoIncrement;

示例輸出。

+-------+--------------+------+-----+---------+----------------+
| Field | Type         | Null | Key | Default | Extra          |
+-------+--------------+------+-----+---------+----------------+
| Id    | int(11)      | NO   | PRI | NULL    | auto_increment |
| Name  | varchar(200) | YES  |     | NULL    |                |
+-------+--------------+------+-----+---------+----------------+
2 rows in set (0.00 sec)

檢視上面的輸出和列名“Extra”。在列名“Extra”中,有一個關鍵字 auto_increment。這本身就說明我們已經成功添加了關鍵字。

現在,我將插入記錄並檢查行是否遞增。

mysql> insert into AddingAutoIncrement(Name) values('John');
Query OK, 1 row affected (0.20 sec)

mysql>  insert into AddingAutoIncrement(Name) values('Smith');
Query OK, 1 row affected (0.12 sec)

mysql>  insert into AddingAutoIncrement(Name) values('Bob');
Query OK, 1 row affected (0.10 sec)

使用 SELECT 語句顯示所有記錄。

mysql> select *from AddingAutoIncrement;

以下是輸出。

+----+-------+
| Id | Name  |
+----+-------+
|  1 | John  |
|  2 | Smith |
|  3 | Bob   |
+----+-------+
3 rows in set (0.00 sec)

正如您在上面的輸出中看到的,行增加了 1。

更新於:2019年7月30日

2K+ 瀏覽量

開啟您的職業生涯

完成課程獲得認證

開始學習
廣告