如何删除应用于现有MySQL表的多个列的复合PRIMARY KEY约束?
我们可以使用DROP关键字和ALTERTABLE语句从现有表的多个列中删除复合PRIMARYKEY约束。
示例
假设我们有一个表'Room_allotment',在表'ID'和'RoomNo'上具有复合PRIMARYKEY约束,如下所示-
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)
现在,如果要删除复合PRIMARYKEY约束,则可以使用ALTERTABLE语句,如下所示:
mysql> Alter table room_allotment DROP PRIMARY KEY; 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”中的复合PRIMARYKEY约束。