修改 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。
廣告