登录
首页 >  数据库 >  MySQL

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

来源:tutorialspoint

时间:2023-08-22 13:02:11 397浏览 收藏

知识点掌握了,还需要不断练习才能熟练运用。下面golang学习网给大家带来一个数据库开发实战,手把手教大家学习《我们如何从MySQL表中删除唯一约束?》,在实现功能的过程中也带大家重新温习相关知识点,温故而知新,回头看看说不定又有不一样的感悟!

要从MySQL表中删除UNIQUE约束,首先,我们必须检查表上UNIQUE约束创建的索引的名称。我们知道SHOW INDEX语句用于此目的。SHOW INDEX语句的结果集中的'key_name'包含索引的名称。现在,可以使用DROP INDEX语句或ALTER TABLE语句来删除UNIQUE约束。两个语句的语法如下:

Syntax

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)

现在,如果要删除唯一约束,我们可以编写以下查询 −

mysql> ALTER TABLE empl DROP INDEX empno;
Query OK, 0 rows affected (0.26 sec)
Records: 0 Duplicates: 0 Warnings: 0

以下查询的结果集将显示列'empno'上没有唯一约束 −

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查询中显示索引,MySQL也会返回一个空集,如下所示−

mysql> Show index from empl;
Empty set (0.00 sec)

使用DROP INDEX语句可以从'empl'表中删除UNIQUE约束,如下所示:

mysql> DROP INDEX empno on empl;
Query OK, 0 rows affected (0.17 sec)
Records: 0 Duplicates: 0 Warnings: 0

理论要掌握,实操不能落!以上关于《我们如何从MySQL表中删除唯一约束?》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

声明:本文转载于:tutorialspoint 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>