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

mysqlmysqli database

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

CREATE UNIQUE INDEX index_name ON table_name(Column_name);

示例

假设我们有以下名为"Test5"的表,并且我们想将 UNIQUE 约束添加到列"ID",那么可以借助 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 约束。


相关文章