एकाधिक कॉलम पर UNIQUE प्रतिबंध जोड़ने के लिए ALTER TABLE ... ADD CONSTRAINT का उपयोग करके डुप्लिकेट संयोजनों को रोकें।
टेबल बनाना
mysql> CREATE TABLE DemoTable (Value1 INT, Value2 INT);
Query OK, 0 rows affected (0.47 sec)
कंपोजिट UNIQUE प्रतिबंध जोड़ें
mysql> ALTER TABLE DemoTable
ADD CONSTRAINT Value1_Value2_ConstraintKey UNIQUE(Value1, Value2);
Query OK, 0 rows affected (0.80 sec)
डेटा डालना (डुप्लिकेट अस्वीकृत)
mysql> INSERT INTO DemoTable VALUES(10,10); -- OK
mysql> INSERT INTO DemoTable VALUES(10,20); -- OK
mysql> INSERT INTO DemoTable VALUES(10,10); -- ERROR 1062: Duplicate entry '10-10'
mysql> INSERT INTO DemoTable VALUES(20,10); -- OK
mysql> INSERT INTO DemoTable VALUES(20,20); -- OK
mysql> INSERT INTO DemoTable VALUES(20,10); -- ERROR 1062: Duplicate entry '20-10'
अंतिम टेबल सामग्री
mysql> SELECT * FROM DemoTable;
आउटपुट:
+--------+--------+
| Value1 | Value2 |
+--------+--------+
| 10 | 10 |
| 10 | 20 |
| 20 | 10 |
| 20 | 20 |
+--------+--------+
4 rows in set (0.00 sec)
नोट: कंपोजिट UNIQUE प्रतिबंध कॉलम के संयोजन को अद्वितीय सुनिश्चित करता है, व्यक्तिगत कॉलम को नहीं। नामित प्रतिबंध (Value1_Value2_ConstraintKey) प्रबंधन/हटाने में मदद करता है। INSERT IGNORE या ON DUPLICATE KEY UPDATE के साथ चुपचाप संभालें।