除了ALTER TABLE语句外,哪条语句可以将UNIQUE约束应用于现有MySQL表的字段?

CREATE UNIQUE INDEX语句也可以用于将UNIQUE约束应用于现有MySQL表的字段。它的语法如下-

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);
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约束。