如何移除对现有 MySQL 表格的多个列应用的复合主键约束?
我们可以使用 `DROP` 关键字以及 `ALTER TABLE` 语句来移除现有表中多个列的复合主键约束。
示例
假设我们有一个表 `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` 列的复合主键约束已被移除。
广告