Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> MySql

डुप्लिकेट प्रविष्टियों को एक MySQL तालिका में प्रवेश करने की अनुमति कैसे न दें?

<घंटा/>

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 सेकंड) में
  1. MySQL तालिका में किसी वर्ण को कैसे बदलें?

    केवल एक वर्ण को बदलने के लिए, MySQL में REPLACE() का उपयोग करें। आइए पहले एक टेबल बनाएं - );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.69 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - डेमोटेबल मानों में डालें (एडम स्मिटक); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.11 सेकंड) चयन कथन का उपयोग

  1. MySQL तालिका को बैच कैसे अपडेट करें?

    आइए पहले एक टेबल बनाएं - );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.59 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - डेमोटेबल मानों में डालें (7:55:00); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.10 सेकंड) चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें - डेमोटेबल से * चुनें; यह

  1. मैं कैसे पता लगा सकता हूं कि MySQL में कोई तालिका मौजूद है या नहीं?

    तालिका के अस्तित्व का पता लगाने के लिए, INFORMATION_SCHEMA.TABLES की अवधारणा का उपयोग करें। निम्नलिखित सिंटैक्स है - सूचना_स्कीमा.टेबल्स से table_name चुनें, जहां table_schema=database()और table_name=yourTableName; ऊपर दिए गए सिंटैक्स को समझने के लिए, आइए एक टेबल बनाएं - );क्वेरी ओके, 0 पंक्तियाँ