首頁 >資料庫 >mysql教程 >我們如何在現有 MySQL 表的多個欄位上設定 PRIMARY KEY?

我們如何在現有 MySQL 表的多個欄位上設定 PRIMARY KEY?

WBOY
WBOY轉載
2023-09-11 10:29:151258瀏覽

我们如何在现有 MySQL 表的多个列上设置 PRIMARY KEY?

我們可以透過使用 ADD 關鍵字和 ALTER TABLE 語句對現有資料表的多列設定 PRIMARY KEY 約束。

範例

假設我們有一個表格「Room_allotment」如下-

mysql> Create table Room_allotment(Id Int, Name Varchar(20), RoomNo Int);
Query OK, 0 rows affected (0.20 sec)

mysql> Describe Room_allotment;
+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| Id     | int(11)     | YES  |     | NULL    |       |
| Name   | varchar(20) | YES  |     | NULL    |       |
| RoomNo | int(11)     | YES  |     | NULL    |       |
+--------+-------------+------+-----+---------+-------+
3 rows in set (0.11 sec)

現在我們可以使用以下查詢在多個欄位「id」和「Name」上新增複合主鍵

mysql> Alter Table Room_allotment ADD PRIMARY KEY(Id, Name);
Query OK, 0 rows affected (0.29 sec)
Records: 0  Duplicates: 0  Warnings: 0

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.12 sec)

從上面的結果集中可以看出,多列都加入了PRIMARY KEY。

以上是我們如何在現有 MySQL 表的多個欄位上設定 PRIMARY KEY?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除