首页 > 文章列表 > 什么是 MySQL UNIQUE 约束以及我们如何将其应用于表的字段?

什么是 MySQL UNIQUE 约束以及我们如何将其应用于表的字段?

466 2023-09-02

顾名思义,MySQL UNIQUE 约束维护表中列的唯一性,并且不允许插入重复值。基本上,UNIQUE 约束创建一个索引,使得索引列中的所有值都必须是唯一的。这里值得一提的是,MySQL 表中可以有多个 UNIQUE 列。

我们可以通过在定义列时提及“UNIQUE”关键字来应用 UNIQUE 约束。可以借助以下示例来理解 -

mysql> Create table test3(ID INT UNIQUE, Name Varchar(20));
Query OK, 0 rows affected (0.16 sec)

上面的查询创建了一个名为“test3”的表,其中的“ID”列带有“UNIQUE”约束。我们可以使用 DESCRIBE 语句进行检查,如下所示 -

mysql> DESCRIBE test3;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| ID    | int(11)     | YES  | UNI | NULL    |       |
| Name  | varchar(20) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.04 sec)

UNIQUE 约束也可以通过以下查询应用于表的列 -

mysql> Create table test4(ID INT, Name Varchar(20),UNIQUE(ID));
Query OK, 0 rows affected (0.15 sec)

我们可以使用 DESCRIBE 语句进行检查,如下所示 -

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)