我们如何从MySQL表中删除UNIQUE约束?

为了从MySQL表中删除UNIQUE约束,首先,我们必须检查由UNIQUE约束在表上创建的索引的名称。众所周知,SHOW INDEX语句用于此目的。SHOW INDEX语句的结果集中的“ key_name ”包含索引的名称。现在,借助DROP INDEX语句或ALTER TABLE语句,我们可以删除UNIQUE约束。这两个语句的语法如下-

语法

DROP INDEX index_name ON table_name;

OR

ALTER TABLE table_name DROP INDEX index_name;

示例

假设我们有表“ empl”,它对列“ empno”具有唯一约束。可以按以下方式检查索引名称-

mysql> Show Index from empl\G

*************************** 1. row ***************************

Table: empl

Non_unique: 0

Key_name: empno

Seq_in_index: 1

Column_name: empno

Collation: A

Cardinality: 0

Sub_part: NULL

Packed: NULL

Null: YES

Index_type: BTREE

Comment:

Index_comment:

1 row in set (0.02 sec)

现在为了删除UNIQUE约束,我们可以编写以下查询-

mysql> ALTER TABLE empl DROP INDEX empno;

Records: 0 Duplicates: 0 Warnings: 0

以下查询的结果集将显示列'empno'上没有UNIQUE约束-

mysql> describe empl;

+--------+-------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+--------+-------------+------+-----+---------+-------+

| empno | int(11) | YES | | NULL | |

| F_name | varchar(20) | YES | | NULL | |

+--------+-------------+------+-----+---------+-------+

2 rows in set (0.04 sec)

即使我们将通过empl查询运行SHOW INDEX, MySQL也会产生一个空集,如下所示:

mysql> Show index from empl;

Empty set (0.00 sec)

还可以借助DROP INDEX语句从'empl'表中删除UNIQUE约束,如下所示-

mysql> DROP INDEX empno on empl;

Records: 0 Duplicates: 0 Warnings: 0

以上是 我们如何从MySQL表中删除UNIQUE约束? 的全部内容, 来源链接: utcz.com/z/359375.html

回到顶部