如何將 UNIQUE 約束應用到現有 MySQL 表中的欄位?
我們可以用 ALTER TABLE 語句將 UNIQUE 約束應用到現有 MySQL 表的列中。
語法
ALTER TABLE table_name MODIFY colum_name datatype UNIQUE; OR ALTER TABLE table_name ADD UNIQUE (colum_name);
示例
假設我們有如下表,命名為“Test4”,我們想給“Name”列新增 UNIQUE 約束,那麼可以透過 ALTER TABLE 命令來實現,如下所示 −
mysql> DESCRIBE test4; +-------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+-------+ | ID | int(11) | YES | UNI | NULL | | | Name | varchar(20) | YES | | NULL | | +-------+-------------+------+-----+---------+-------+ 2 rows in set (0.04 sec) mysql> ALTER TABLE test4 MODIFY Name Varchar(20) UNIQUE; Query OK, 0 rows affected (0.22 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> DESCRIBE test4; +-------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+-------+ | ID | int(11) | YES | UNI | NULL | | | Name | varchar(20) | YES | UNI | NULL | | +-------+-------------+------+-----+---------+-------+ 2 rows in set (0.04 sec)
從上面的結果集可以看出,MySQL 給“Name”欄位新增一個 UNIQUE 約束。我們還可以用以下查詢新增 UNIQUE 約束−
mysql> Alter table test4 add UNIQUE(name); Query OK, 0 rows affected (0.16 sec) Records: 0 Duplicates: 0 Warnings: 0
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP