MySQL में डुप्लिकेट रिकॉर्ड रोकने और केवल नए रिकॉर्ड डालने के लिए कॉलम पर UNIQUE INDEX बनाएं।
टेबल निर्माण
mysql> CREATE TABLE DemoTable (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
FirstName VARCHAR(20)
);
यूनिक इंडेक्स बनाएं
mysql> CREATE UNIQUE INDEX index_on_FirstName ON DemoTable(FirstName);
रिकॉर्ड डालना (डुप्लिकेट अपने आप रिजेक्ट होंगे)
mysql> INSERT INTO DemoTable(FirstName) VALUES('Chris'); -- OK
mysql> INSERT INTO DemoTable(FirstName) VALUES('Chris'); -- ERROR 1062: Duplicate entry
mysql> INSERT INTO DemoTable(FirstName) VALUES('Robert'); -- OK
mysql> INSERT INTO DemoTable(FirstName) VALUES('Mike'); -- OK
mysql> INSERT INTO DemoTable(FirstName) VALUES('Robert'); -- ERROR 1062: Duplicate entry
अंतिम डेटा
mysql> SELECT * FROM DemoTable;
+----+-----------+ | Id | FirstName | +----+-----------+ | 1 | Chris | | 2 | Robert | | 3 | Mike | +----+-----------+ 3 rows in set (0.00 sec)
वैकल्पिक तरीका: INSERT IGNORE या ON DUPLICATE KEY UPDATE का उपयोग करके एरर के बिना डुप्लिकेट को हैंडल कर सकते हैं।