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

เราจะตั้งค่า PRIMARY KEY ในหลายคอลัมน์ของตาราง MySQL ที่มีอยู่ได้อย่างไร


เราสามารถตั้งค่าข้อจำกัด PRIMARY KEY ในหลายคอลัมน์ของตารางที่มีอยู่โดยใช้คีย์เวิร์ด ADD ร่วมกับคำสั่ง ALTER TABLE

ตัวอย่าง

สมมติว่าเรามีตาราง '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)

ตอนนี้เราสามารถเพิ่ม PRIMARY KEY แบบผสมในหลายคอลัมน์ '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 ในหลายคอลัมน์