除了 ALTER TABLE 語句之外,什麼語句可用於對現有 MySQL 表的欄位應用 UNIQUE 約束?
CREATE UNIQUE INDEX 語句也可以用來對現有 MySQL 表的欄位應用 UNIQUE 約束。其語法如下 -
CREATE UNIQUE INDEX index_name ON table_name(Column_name);
示例
假設我們有以下名為 Test5 的表,而且我們想要對列 ID 新增 UNIQUE 約束,則可以使用 CREATE UNIQUE INDEX 命令照以下方式進行 -
mysql> DESCRIBE TEST5; +-------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+-------+ | ID | int(11) | YES | | NULL | | | Name | varchar(20) | YES| | NULL | | +-------+-------------+------+-----+---------+-------+ 2 rows in set (0.04 sec) mysql> CREATE UNIQUE INDEX ID_UNQ ON TEST5(ID); Query OK, 0 rows affected (0.20 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> DESCRIBE test5; +-------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+-------+ | ID | int(11) | YES | UNI | NULL | | | Name | varchar(20) | YES | | NULL | | +-------+-------------+------+-----+---------+-------+ 2 rows in set (0.04 sec)
從上述查詢的結果集來看,可以看出列 ID 具有 UNIQUE 約束。
廣告