我们如何将UNIQUE约束应用于现有MySQL表的字段?

我们可以借助ALTER TABLE语句将UNIQUE约束应用于现有MySQL表的列。

语法

ALTER TABLE table_name MODIFY colum_name datatype UNIQUE;
                    OR
ALTER TABLE table_name ADD UNIQUE (colum_name);

示例

假设我们有一个名为“ Test4”的下表,并且想向“名称”列添加UNIQUE约束,那么可以借助ALTER TABLE命令如下进行操作-

mysql> DESCRIBE test4;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| ID    | int(11)     | YES  | UNI | NULL    |       |
| Name  | varchar(20) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.04 sec)

mysql> ALTER TABLE test4 MODIFY Name Varchar(20) UNIQUE;
Records: 0 Duplicates: 0 Warnings: 0

mysql> DESCRIBE test4;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| ID    | int(11)     | YES  | UNI | NULL    |       |
| Name  | varchar(20) | YES  | UNI | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.04 sec)

从以上结果集中可以看出,MySQL向字段“名称”添加了UNIQUE约束。我们也可以使用以下查询添加UNIQUE约束-

mysql> Alter table test4 add UNIQUE(name);
Records: 0 Duplicates: 0 Warnings: 0