MySQL तालिका में किसी भी डुप्लिकेट प्रविष्टि को दर्ज करने की अनुमति नहीं देने के लिए, आपको अद्वितीय कुंजी जोड़ने की आवश्यकता है। वाक्य रचना इस प्रकार है -
तालिका को अनदेखा करें बदलें yourTableName बाधा अद्वितीय कुंजी जोड़ें (yourColumName);
उपरोक्त सिंटैक्स अद्वितीय कुंजी सेट करता है। ऊपर दिए गए सिंटैक्स को समझने के लिए, आइए एक टेबल बनाते हैं।
तालिका बनाने के लिए निम्नलिखित क्वेरी है -
mysql> टेबल बनाएं RemoveDuplicateEntry −> ( −> Id int, −> Name varchar(100) −> )ENGINE =MyISAM;क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.15 सेकंड)
अब आप शुरुआत में चर्चा किए गए सिंटैक्स को लागू कर सकते हैं। क्वेरी इस प्रकार है -
mysql> तालिका बदलें RemoveDuplicateEntry बाधा जोड़ें अद्वितीय कुंजी (Id); क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.56 सेकंड) रिकॉर्ड:0 डुप्लिकेट:0 चेतावनियाँ:0
आइए अब तालिका संरचना की जाँच करें। क्वेरी इस प्रकार है -
mysql> desc RemoveDuplicateEntry;
निम्न आउटपुट है -
<पूर्व>+----------+--------------+----------+-----+---------+ --------+| फील्ड | प्रकार | शून्य | कुंजी | डिफ़ॉल्ट | अतिरिक्त |+----------+--------------+----------+-----+-------- ------+| आईडी | इंट(11) | हाँ | यूएनआई | नल | || नाम | वर्कर (100) | हाँ | | नल | |+----------+--------------+----------+-----+--------+-- -----+2 पंक्तियाँ सेट में (0.00 सेकंड)अब, डुप्लिकेट प्रविष्टियों के साथ कुछ रिकॉर्ड सम्मिलित करते हैं। यह सम्मिलित नहीं होगा क्योंकि हमने ऊपर UNIQUE का उपयोग किया है -
रिकॉर्ड डालने की क्वेरी इस प्रकार है -
mysql> RemoveDuplicateEntry मानों (101, 'जॉन') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.06 सेकंड)
अब, यदि आप फिर से वही रिकॉर्ड डालेंगे, तो निम्न त्रुटि दिखाई देगी -
mysql> RemoveDuplicateEntry मानों (101, 'जॉन') में डालें; त्रुटि 1062 (23000):कुंजी 'Id' के लिए डुप्लिकेट प्रविष्टि '101'
टेबल से सभी रिकॉर्ड्स को सेलेक्ट स्टेटमेंट के साथ चेक करें। क्वेरी इस प्रकार है -
mysql> *RemoveDuplicateEntry से चुनें;
बिना डुप्लीकेट प्रविष्टियों के रिकॉर्ड प्रदर्शित करने वाला आउटपुट निम्नलिखित है -
<पूर्व>+----------+------+| आईडी | नाम |+----------+------+| 101 | जॉन |+------+------+1 पंक्ति सेट (0.00 सेकंड) में