MySQL 如何在现有的MySQL表中取消应用于多列的复合主键约束?

MySQL 如何在现有的MySQL表中取消应用于多列的复合主键约束?

我们可以使用DROP关键字和ALTER TABLE语句一起从多个列中删除现有表的复合主键约束。

阅读更多:MySQL 教程

示例

假设我们有一个名为“Room_allotment”的表,其在列“ID”和“RoomNo”上具有复合主键约束,如下所示 –

mysql> describe room_allotment;
+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| id     | int(11)     | NO   | PRI | 0       |       |
| Name   | varchar(20) | NO   | PRI |         |       |
| RoomNo | int(11)     | YES  |     | NULL    |       |
+--------+-------------+------+-----+---------+-------+
3 rows in set (0.06 sec)

如果我们现在想要删除复合主键约束,则可以使用ALTER TABLE语句,如下所示 –

mysql> Alter table room_allotment DROP PRIMARY KEY;
Query OK, 0 rows affected (0.19 sec)
Records: 0  Duplicates: 0  Warnings: 0  

mysql> describe room_allotment;
+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| id     | int(11)     | NO   |     | 0       |       |
| Name   | varchar(20) | NO   |     |         |       |
| RoomNo | int(11)     | YES  |     | NULL    |       |
+--------+-------------+------+-----+---------+-------+
3 rows in set (0.07 sec)

上面的结果集显示,已删除列“ID”和“RoomNo”的复合主键约束。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程