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

WBOY
發布: 2023-09-11 10:29:15
轉載
1247 人瀏覽過

我们如何在现有 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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板