Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

วิธีกำหนด PRIMARY KEY บนหลายคอลัมน์ของตาราง MySQL

MySQL อนุญาตให้กำหนด PRIMARY KEY บนหลายคอลัมน์ (Composite Primary Key) ข้อดีคือสามารถทำงานกับหลายคอลัมน์เป็นหน่วยเดียวได้

ตัวอย่าง

สร้างตาราง allotment โดยกำหนด Composite 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       |       |
+--------+-------------+------+-----+---------+-------+

หากพยายามเพิ่มค่าซ้ำในคอลัมน์ทั้งสอง 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'