MySQL UNIQUE कंस्ट्रेंट यह सुनिश्चित करता है कि एक कॉलम के सभी मान अद्वितीय (Unique) हों - डुप्लिकेट मान अनुमति नहीं है। एक टेबल में एक से अधिक UNIQUE कॉलम हो सकते हैं।
टेबल बनाते समय UNIQUE कंस्ट्रेंट लागू करना
विधि 1: कॉलम परिभाषा में
mysql> CREATE TABLE test3(
ID INT UNIQUE,
Name VARCHAR(20)
);
Query OK, 0 rows affected (0.16 sec)
mysql> DESCRIBE test3;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| ID | int(11) | YES | UNI | NULL | |
| Name | varchar(20) | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+
विधि 2: टेबल लेवल पर (कॉलम सूची के बाद)
mysql> CREATE TABLE test4(
ID INT,
Name VARCHAR(20),
UNIQUE(ID)
);
Query OK, 0 rows affected (0.15 sec)
mysql> DESCRIBE test4;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| ID | int(11) | YES | UNI | NULL | |
| Name | varchar(20) | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+
महत्वपूर्ण विशेषताएं
| विशेषता | विवरण |
|---|---|
| डुप्लिकेट मान | अनुमति नहीं (एरर देगा) |
| NULL मान | अनुमति है (एकाधिक NULL संभव) |
| एक टेबल में संख्या | एक से अधिक UNIQUE कॉलम संभव |
| इंडेक्स प्रकार | नॉन-क्लस्टर्ड इंडेक्स बनाता है |
| प्राथमिक कुंजी से अंतर | PRIMARY KEY = UNIQUE + NOT NULL + केवल एक |