除了 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 約束。

更新於: 19-Jun-2020

90 次瀏覽

啟動您的 事業

透過完成課程獲得認證

開始
廣告