समाधान: UNIQUE कंस्ट्रेंट का उपयोग
MySQL में डुप्लीकेट पंक्तियों को रोकने के लिए, आप संयुक्त (composite) UNIQUE कंस्ट्रेंट का उपयोग कर सकते हैं।
सिंटैक्स
ALTER TABLE yourTableName ADD UNIQUE(yourColumnName1, yourColumnName2, ...N);
व्यावहारिक उदाहरण
टेबल बनाना
mysql> CREATE TABLE avoidInsertingDuplicateRows (
-> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> FirstValue INT,
-> SecondValue INT
-> );
Query OK, 0 rows affected (0.53 sec)
टेबल संरचना देखना
mysql> DESC avoidInsertingDuplicateRows;
आउटपुट में तीन कॉलम दिखेंगे: Id (PRIMARY KEY), FirstValue, SecondValue
UNIQUE कंस्ट्रेंट जोड़ना
mysql> ALTER TABLE avoidInsertingDuplicateRows ADD UNIQUE(FirstValue, SecondValue);
डेटा डालकर परीक्षण
mysql> INSERT INTO avoidInsertingDuplicateRows(FirstValue, SecondValue) VALUES(10, 20); Query OK, 1 row affected (0.24 sec) mysql> INSERT INTO avoidInsertingDuplicateRows(FirstValue, SecondValue) VALUES(10, 20); ERROR 1062 (23000): Duplicate entry '10-20' for key 'FirstValue'
परिणाम देखना
mysql> SELECT * FROM avoidInsertingDuplicateRows;
आउटपुट: केवल एक पंक्ति (Id: 1, FirstValue: 10, SecondValue: 20)
मुख्य बिंदु
- संयुक्त UNIQUE कंस्ट्रेंट कॉलम के संयोजन को अद्वितीय बनाता है
- डुप्लीकेट डालने पर MySQL त्रुटि 1062 फेंकता है
- यह दृष्टिकोण डेटा अखंडता सुनिश्चित करता है