UNIQUE कंस्ट्रेंट के साथ कॉलम स्तर पर डुप्लिकेट रोकना
किसी कॉलम में डुप्लिकेट मान रोकने के लिए टेबल निर्माण के समय UNIQUE कंस्ट्रेंट घोषित करें। यह उस कॉलम के लिए अद्वितीय इंडेक्स बनाता है।
UNIQUE कंस्ट्रेंट के साथ टेबल निर्माण
mysql> CREATE TABLE DemoTable (
Value INT,
Value2 INT,
UNIQUE(Value),
UNIQUE(Value2)
);
Query OK, 0 rows affected (13.98 sec)
डेटा डालना (डुप्लिकेट अस्वीकृत होंगे)
mysql> INSERT INTO DemoTable VALUES(10,20); Query OK, 1 row affected (0.32 sec) mysql> INSERT INTO DemoTable VALUES(10,30); ERROR 1062 (23000): Duplicate entry '10' for key 'Value' mysql> INSERT INTO DemoTable VALUES(40,20); ERROR 1062 (23000): Duplicate entry '20' for key 'Value2' mysql> INSERT INTO DemoTable VALUES(60,70); Query OK, 1 row affected (1.37 sec)
अंतिम रिकॉर्ड
mysql> SELECT * FROM DemoTable;
+-------+--------+ | Value | Value2 | +-------+--------+ | 10 | 20 | | 60 | 70 | +-------+--------+ 2 rows in set (0.00 sec)
व्याख्या: दूसरी INSERT में Value=10 डुप्लिकेट → त्रुटि। तीसरी INSERT में Value2=20 डुप्लिकेट → त्रुटि। केवल अद्वितीय संयोजन डाले गए।
नोट: UNIQUE NULL मानों को अनुमति देता है (एकाधिक NULL संभव)। यदि NULL भी अद्वितीय होना चाहिए, तो NOT NULL जोड़ें। संयुक्त अद्वितीयता के लिए UNIQUE(col1, col2) उपयोग करें।