什么是 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)