除了 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 次浏览

启动您的 事业

通过完成课程获得认证

开始
广告
© . All rights reserved.