जैसा कि नाम से पता चलता है, MySQL UNIQUE बाधा तालिका में एक कॉलम की विशिष्टता को बनाए रखता है और डुप्लिकेट मान डालने की अनुमति नहीं देता है। मूल रूप से, UNIQUE बाधा एक सूचकांक बनाता है जैसे कि सूचकांक कॉलम में सभी मान अद्वितीय होने चाहिए। यहां यह उल्लेख करना उचित है कि हमारे पास एक MySQL तालिका में एक से अधिक UNIQUE कॉलम हो सकते हैं।
हम एक कॉलम को परिभाषित करते समय 'UNIQUE' कीवर्ड का उल्लेख करके UNIQUE बाधा लागू कर सकते हैं। इसे निम्न उदाहरण की सहायता से समझा जा सकता है -
mysql> Create table test3(ID INT UNIQUE, Name Varchar(20)); Query OK, 0 rows affected (0.16 sec)
उपरोक्त क्वेरी 'test3' नाम की एक तालिका बनाती है, जिस पर 'UNIQUE' बाधा के साथ 'ID' कॉलम होता है। हम इसे DESCRIBE स्टेटमेंट के साथ इस प्रकार देख सकते हैं -
mysql> DESCRIBE test3; +-------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+-------+ | ID | int(11) | YES | UNI | NULL | | | Name | varchar(20) | YES | | NULL | | +-------+-------------+------+-----+---------+-------+ 2 rows in set (0.04 sec)
UNIQUE बाधा को निम्न क्वेरी के साथ तालिका के कॉलम पर भी लागू किया जा सकता है -
mysql> Create table test4(ID INT, Name Varchar(20),UNIQUE(ID)); Query OK, 0 rows affected (0.15 sec)
हम इसे DESCRIBE स्टेटमेंट के साथ इस प्रकार देख सकते हैं -
mysql> DESCRIBE test4; +-------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+-------+ | ID | int(11) | YES | UNI | NULL | | | Name | varchar(20) | YES | | NULL | | +-------+-------------+------+-----+---------+-------+ 2 rows in set (0.04 sec)