如何移除對現有 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` 列的複合主鍵約束已被移除。

更新於:19-Jun-2020

4 千+ 瀏覽

開始你的 職業生涯

透過完成課程認證

開始
廣告
© . All rights reserved.