我们如何将UNIQUE约束应用于现有MySQL表的字段?
我们可以借助ALTERTABLE语句将UNIQUE约束应用于现有MySQL表的列。
语法
ALTER TABLE table_name MODIFY colum_name datatype UNIQUE; OR ALTER TABLE table_name ADD UNIQUE (colum_name);
示例
假设我们有一个名为“Test4”的下表,并且想向“名称”列添加UNIQUE约束,那么可以借助ALTERTABLE命令如下进行操作-
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