如何在 MySQL 表格的多欄上設定 PRIMARY KEY?


實際上,MySQL 允許我們在多欄上設定 PRIMARY KEY。這樣做的優勢在於,我們可以將多欄作為單個實體來操作。

示例

我們已經建立了 allotment 表格,方法是在多欄上定義複合 PRIMARY KEY,如下所示 −

mysql> Create table allotment(
   RollNo Int, Name Varchar(20), RoomNo Int, PRIMARY KEY(RollNo, RoomNo));
Query OK, 0 rows affected (0.23 sec)

mysql> Describe allotment;

+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| RollNo | int(11)     | NO   | PRI | 0       |       |
| Name   | varchar(20) | YES  |     | NULL    |       |
| RoomNo | int(11)     | NO   | PRI | 0       |       |
+--------+-------------+------+-----+---------+-------+

3 rows in set (0.10 sec)

現在,當我們嘗試在兩欄中插入重複複合值時,MySQL 就會丟擲一個錯誤,如下所示 −

mysql> Insert Into allotment values(1, 'Aarav', 201),(2,'Harshit',201),(1,'Rahul ',201);
ERROR 1062 (23000): Duplicate entry '1-201' for key 'PRIMARY'

更新於: 2019 年 7 月 30 日

830 次瀏覽

開啟你的 職業

透過完成課程獲得認證

開始
廣告