从MySQL表中删除唯一约束?

首先,让我们创建一个具有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)

以上是 从MySQL表中删除唯一约束? 的全部内容, 来源链接: utcz.com/z/330877.html

回到顶部