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

mysqlmysqli database

顾名思义,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 impacted (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)

相关文章