如何使现有字段在MySQL中唯一?

为了使现有字段在MySQL中唯一,我们可以使用ALTER命令并为该字段设置UNIQUE约束。让我们来看一个例子。首先,我们将创建一个表。

mysql> create table AddingUnique
   -> (
   -> Id int,
   -> name varchar(100)
   -> );

将UNIQUE添加到现有字段的语法。

alter table yourTableName add UNIQUE(yourColumnName);

应用上述语法以便将UNIQUE添加到“名称”列中。

mysql> alter table AddingUnique add UNIQUE(name);
Records: 0  Duplicates: 0  Warnings: 0

现在,由于将字段设置为唯一,因此我们无法将重复的记录插入表中。如果我们尝试添加重复记录,则会引发错误。

mysql> alter table AddingUnique add UNIQUE(name);
Records: 0  Duplicates: 0  Warnings: 0

mysql> insert into AddingUnique values(1,'John');

mysql> insert into AddingUnique values(1,'John');
ERROR 1062 (23000): Duplicate entry 'John' for key 'name'

mysql> insert into AddingUnique values(2,'Carol');

mysql> insert into AddingUnique values(3,'John');
ERROR 1062 (23000): Duplicate entry 'John' for key 'name'

mysql> insert into AddingUnique values(4,'Smith');

显示所有记录。

mysql> select *from AddingUnique;

以下是输出。

+------+-------+
| Id   | name  |
+------+-------+
|    1 | John  |
|    2 | Carol |
|    4 | Smith |
+------+-------+
3 rows in set (0.00 sec)