MySQL 如何将唯一约束应用于现有MySQL表的字段?
我们可以使用ALTER TABLE语句将唯一约束应用于现有MySQL表的列。
阅读更多:MySQL 教程
语法
ALTER TABLE table_name MODIFY colum_name datatype UNIQUE;
OR
ALTER TABLE table_name ADD UNIQUE (colum_name);
示例
假设我们有以下名为“Test4”的表,并且我们想将唯一约束添加到“Name”列中,则可以使用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;
Query OK, 0 rows affected (0.22 sec)
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向“Name”字段添加了唯一约束。我们也可以使用以下查询添加唯一约束 –
mysql> Alter table test4 add UNIQUE(name);
Query OK, 0 rows affected (0.16 sec)
Records: 0 Duplicates: 0 Warnings: 0
极客教程