如何使 MySQL 中现有的字段唯一?
要使 MySQL 中的现有字段唯一,我们可以使用 ALTER 命令并为该字段设置 UNIQUE 约束。我们来看一个例子。首先,我们将创建一个表。
mysql> create table AddingUnique -> ( -> Id int, -> name varchar(100) -> ); Query OK, 0 rows affected (0.44 sec)
在现有字段中添加 UNIQUE 的语法。
alter table yourTableName add UNIQUE(yourColumnName);
应用以上语法以向列“name”添加 UNIQUE。
mysql> alter table AddingUnique add UNIQUE(name); Query OK, 0 rows affected (0.60 sec) Records: 0 Duplicates: 0 Warnings: 0
由于我们已将该字段设置为唯一字段,因此现在我们无法向表中插入重复记录。如果我们尝试添加重复记录,则会出现错误。
mysql> alter table AddingUnique add UNIQUE(name); Query OK, 0 rows affected (0.60 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> insert into AddingUnique values(1,'John'); Query OK, 1 row affected (0.15 sec) mysql> insert into AddingUnique values(1,'John'); ERROR 1062 (23000): Duplicate entry 'John' for key 'name' mysql> insert into AddingUnique values(2,'Carol'); Query OK, 1 row affected (0.18 sec) mysql> insert into AddingUnique values(3,'John'); ERROR 1062 (23000): Duplicate entry 'John' for key 'name' mysql> insert into AddingUnique values(4,'Smith'); Query OK, 1 row affected (0.18 sec)
显示所有记录。
mysql> select *from AddingUnique;
以下是输出结果。
+------+-------+ | Id | name | +------+-------+ | 1 | John | | 2 | Carol | | 4 | Smith | +------+-------+ 3 rows in set (0.00 sec)
广告