如何使 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)

更新于: 2019 年 7 月 30 日

7K+ 浏览

开启你的职业生涯

完成课程以获得认证

开始
广告