दरअसल, MySQL हमें कई कॉलम पर 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'