首先,让我们创建一个具有UNIQUE约束的表。这表明我们不能添加重复的值。
创建一个表。
mysql> create table UniqueConstraintDemo -> ( -> Name varchar(200) unique -> );
现在,我们可以借助DESC命令检查表是否具有UNIQUE约束。查询如下。
mysql> DESC UniqueConstraintDemo;
以下是输出。
+-------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+--------------+------+-----+---------+-------+ | Name | varchar(200) | YES | UNI | NULL | | +-------+--------------+------+-----+---------+-------+ 1 row in set (0.00 sec)
现在,我们对“名称”列具有唯一的约束。因此,我们不能添加重复的值。如果我们尝试两次插入相同的值,则将出现错误。查询以插入记录如下。
mysql> insert into UniqueConstraintDemo values('John'); mysql> insert into UniqueConstraintDemo values('John'); ERROR 1062 (23000): Duplicate entry 'John' for key 'Name'
查看上面的错误1062。这表明我们尝试将重复值添加到具有UNIQUE约束的列中。
现在让我们看一下删除UNIQUE约束的语法。
DROP index yourColumnName on yourTableName;
应用上面的语法删除唯一约束。
mysql> DROP index Name on UniqueConstraintDemo; Records: 0 Duplicates: 0 Warnings: 0
现在,我们可以在DESC命令的帮助下检查UNIQUE约束是否已删除。查询如下-
mysql> DESC UniqueConstraintDemo;
以下是显示我们已成功删除UNIQUE约束的输出。
+-------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+--------------+------+-----+---------+-------+ | Name | varchar(200) | YES | | NULL | | +-------+--------------+------+-----+---------+-------+ 1 row in set (0.00 sec)