MySQL INSERT IGNORE not working -


यहां कुछ नमूना डेटा के साथ मेरी तालिका है

  a_id | B_id ------------ 1 225 2 494 3 58 9  

जब मैं यह क्वेरी चलाता हूँ

  INSERT IGNORE में table_name ( एयूआईडी, बी_आईड) मूल्य ('4', '230') ('2', '4 9 4')  

यह उन दोनों पंक्तियों को सम्मिलित करता है, जब वह दूसरी मान युगल को अनदेखा करना चाहेगा (2, 494)

कोई सूचकांक परिभाषित नहीं है, न तो उन कॉलम प्राथमिक हैं।

मुझे क्या पता नहीं है?

से:

यदि आप IGNORE कीवर्ड का उपयोग करते हैं, तो INSERT स्टेटमेंट निष्पादित करते समय त्रुटि उत्पन्न होती है बजाय चेतावनी के रूप में इलाज किया उदाहरण के लिए, IGNORE के बिना, पंक्ति में तालिका में किसी मौजूदा अद्वितीय अनुक्रमणिका या प्राथमिक कुंजी मान को डुप्लिकेट करता है एक डुप्लिकेट-कुंजी त्रुटि उत्पन्न करता है और कथन निरस्त कर दिया जाता है। इग्नॉर के साथ, पंक्ति अभी भी डाली नहीं गई है, लेकिन कोई त्रुटि जारी नहीं की गई है।

(मेरी इटैलिक)।

आपकी पंक्ति "कोई मौजूदा अद्वितीय अनुक्रमणिका या प्राथमिक कुंजी मान" का नकल नहीं कर रहा है क्योंकि आपके पास प्राथमिक नहीं है कुंजी और न ही किसी भी अद्वितीय बाधाएं।


यदि आप अपनी किसी भी टिप्पणी में बताते हैं, तो आप चाहते हैं कि कोई भी क्षेत्र अनन्य न हो लेकिन आप करना चाहते हैं कि संयोजन अद्वितीय हो , आपको दोनों कॉलमों में एक समग्र प्राथमिक कुंजी की जरूरत है (पहले किसी भी डुप्लिकेट से छुटकारा पाएं):

  तालिका को बदलना MYTABLE प्राथमिक कुंजी (a_id, b_id)  

Comments

Popular posts from this blog

windows - Heroku throws SQLITE3 Read only exception -

lex - Building a lexical Analyzer in Java -

python - rename keys in a dictionary -