如何对现有 MySQL 表的字段应用 UNIQUE 约束?
借助于 ALTER TABLE 语句,我们可以将 UNIQUE 约束应用于现有 MySQL 表的列。
语法
ALTER TABLE table_name MODIFY colum_name datatype UNIQUE; OR ALTER TABLE table_name ADD UNIQUE (colum_name);
示例
假设我们有名为 ‘Test4’ 的表,且我们想对 ‘Name’ 列添加 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; 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’ 字段添加了 UNIQUE 约束。我们可以使用以下查询同样添加一个 UNIQUE 约束 −
mysql> Alter table test4 add UNIQUE(name); Query OK, 0 rows affected (0.16 sec) Records: 0 Duplicates: 0 Warnings: 0
广告