UNIQUE KEY प्रतिबंध के साथ उम्मीदवार कुंजी लागू करना
प्रत्येक संबंध में एक या अधिक उम्मीदवार कुंजी हो सकती है। इनमें से एक उम्मीदवार कुंजी को प्राथमिक कुंजी कहा जाता है। प्रत्येक उम्मीदवार कुंजी प्राथमिक कुंजी के लिए योग्य होती है। इसलिए, प्राथमिक कुंजी के उम्मीदवारों को उम्मीदवार कुंजी कहा जाता है। MySQL में उम्मीदवार कुंजी लागू करने के लिए, एक से अधिक कॉलम को यूनिक कुंजी के रूप में सेट करें। ये कुंजी नीचे दिए गए सिंटैक्स के अनुसार उम्मीदवार कुंजी के रूप में योग्य होंगी:
alter table yourTableName add unique key anyName(yourColumnName1,yourColumnName2);
पहले टेबल बनाएं:
mysql> create table DemoTable1400 ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Name varchar(40), Age int ); Query OK, 0 rows affected (0.50 sec)
किसी भी MySQL में CANDIDATE KEY लागू करने की क्वेरी:
mysql> alter table DemoTable1400 add unique key name_age_unique(Name,Age); Query OK, 0 rows affected (0.67 sec) Records: 0 Duplicates: 0 Warnings: 0
INSERT का उपयोग करके रिकॉर्ड डालें:
mysql> insert into DemoTable1400(Name,Age) values('Chris',23); Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable1400(Name,Age) values('Chris',23); ERROR 1062 (23000): Duplicate entry 'Chris-23' for key 'name_age_unique'
mysql> insert into DemoTable1400(Name,Age) values('David',23); Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable1400(Name,Age) values('Chris',24); Query OK, 1 row affected (0.10 sec)
सभी रिकॉर्ड देखें:
mysql> select * from DemoTable1400;
आउटपुट:
+----+-------+------+ | Id | Name | Age | +----+-------+------+ | 1 | Chris | 23 | | 4 | Chris | 24 | | 3 | David | 23 | +----+-------+------+ 3 rows in set (0.00 sec)
व्याख्या: UNIQUE KEY (Name, Age) संयोजन पर विशिष्टता लागू करता है। दूसरी पंक्ति ('Chris', 23) डुप्लिकेट होने के कारण अस्वीकृत हो जाती है। 'Chris', 24 और 'David', 23 अद्वितीय संयोजन हैं इसलिए स्वीकार किए जाते हैं। यह संयुक्त उम्मीदवार कुंजी बनाता है। एक टेबल में कई UNIQUE KEY हो सकते हैं, प्रत्येक एक उम्मीदवार कुंजी होती है।