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

MySQL में निम्न त्रुटि क्यों होती है:त्रुटि 1062 (23000):डुप्लिकेट प्रविष्टि?

<घंटा/>

मान लें कि आपने स्तंभ मानों को अद्वितीय कुंजी के रूप में सेट किया है और तालिका में डुप्लिकेट मान सम्मिलित करने का प्रयास करें। यह त्रुटि 1062 (23000) की ओर ले जाएगा:डुप्लिकेट प्रविष्टि।

आइए पहले एक टेबल बनाएं -

mysql> टेबल बनाएं DemoTable776 ( FirstValue int, SecondValue int, Unique key(FirstValue,SecondValue));क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.74 सेकंड)

इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें। डुप्लिकेट मान डालने के दौरान, वही त्रुटि उत्पन्न होती है जैसा कि नीचे दिखाया गया है -

mysql> DemoTable776 मानों में डालें (10,20); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.16 सेकंड) mysql> DemoTable776 मानों में डालें (10,40); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.15 सेकंड) mysql> सम्मिलित करें DemoTable776 मानों (40,20) में; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.26 सेकंड) mysql> DemoTable776 मान (10,20) में डालें; त्रुटि 1062 (23000):कुंजी 'FirstValue' के लिए डुप्लिकेट प्रविष्टि '10-20' 

चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें -

mysql> DemoTable776 से *चुनें;

यह निम्नलिखित आउटपुट देगा -

<पूर्व>+---------------+----------------+| फर्स्टवैल्यू | सेकेंडवैल्यू |+---------------+----------------+| 10 | 20 || 10 | 40 || 40 | 20 |+------------+---------------+3 पंक्तियों में सेट (0.00 सेकंड)

  1. MySQL में अपडेट कमांड slanted सिंगल कोट्स का उपयोग करने पर जोर क्यों देता है?

    स्ट्रिंग इनपुट मान पर सिंगल कोट्स का प्रयोग करें। यदि तालिका नाम या स्तंभ नाम जैसा कोई पहचानकर्ता है, तो एकल उद्धरणों का उपयोग न करें (बैकटिक्स का उपयोग करें)। आइए पहले एक टेबल बनाएं - );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.82 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - DemoTab

  1. MySQL में प्रकारों की तुलना करने से त्रुटि क्यों नहीं होगी?

    यदि आप स्ट्रिंग की तुलना int से करने का प्रयास करते हैं, तो MySQL कोई त्रुटि उत्पन्न नहीं करेगा क्योंकि यह स्ट्रिंग को int में परिवर्तित करता है। आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable1852 (Value1 varchar(20), Value2 int);क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.00 सेकंड) इंसर्ट कमांड का उपयोग क

  1. जांचें कि क्या MySQL प्रविष्टि मौजूद है और यदि ऐसा है, तो अन्य स्तंभों को कैसे अधिलेखित करें?

    इसके लिए INSERT ON DUPLICATE KEY UPDATE कमांड का इस्तेमाल करें। आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable1891 ( FirstName varchar(20), UNIQUE KEY(FirstName) );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.00 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - डुप्लीकेट कुंजी अपडेट पर DemoTab