तो किसी फ़ील्ड में एक ऑटोइनक्रिकमेंट जोड़ने का प्रयास करते समय यह # 1062 के साथ आता है - कुंजी 1 के लिए डुप्लिकेट प्रविष्टि '1'। मैंने प्राथमिक कुंजी को हटाने और इसे फिर से जोड़ने का प्रयास किया है और यह ठीक काम करता है (जो मुझे लगता है कि डुप्लिकेट नहीं होता है?)# 1062 - कुंजी 1 के लिए डुप्लिकेट प्रविष्टि '1' - कोई डुप्लिकेट प्रविष्टियां नहीं मिलीं
लेकिन जब मैं फ़ील्ड में एक ऑटोइनक्रिकमेंट जोड़ने की कोशिश करता हूं तो यह एक त्रुटि फेंकता है।
SELECT *
FROM `myTbl`
WHERE CONCAT_WS("-", 11) = "1"
ORDER BY 11
LIMIT 0 , 30
हालांकि यह एक खाली परिणाम सेट .. सुझाव कोई डुप्लिकेट देखते हैं देता है: यह मुझे जो निम्नलिखित एसक्यूएल चलाता है एक ब्राउज़ विकल्प देता है। तो यदि कोई डुप्लीकेट नहीं है, तो मैं एक ऑटोइनक्रिकमेंट कैसे जोड़ सकता हूं?
'CONCAT_WS ("-", 11)' के परिणाम की आप क्या उम्मीद करते हैं? मुझे हमेशा 11 मिलते हैं ... – glglgl
कृपया 'SHOW CREATE TABLE myTbl' का परिणाम पोस्ट करें और वह आदेश जिसे आप ऑटोइनक्रिकमेंट जोड़ने के लिए उपयोग करते हैं। यह भी ध्यान रखें कि 'CONCAT_WS (' - ', 11) =' 1'' हमेशा 'FALSE' का मूल्यांकन करेगा। आप 'WHERE' खंड में फ़ील्ड के ऑर्डिनल का उपयोग उस तरीके से नहीं कर सकते जिस तरह से आप इसे 'ऑर्डर बाय' में करते हैं। – Quassnoi
तो आपको नहीं लगता कि मैं ditzy हूँ, मैंने एसक्यूएल नहीं लिखा था - यह त्रुटि उत्पन्न करने के बाद ब्राउज़ बटन दबाते समय phpMyAdmin द्वारा उत्पन्न किया गया था। मुझे लगता है कि नीचे पोस्टर (माइकल मोयर) सही है और अब मैं उस समाधान की कोशिश कर रहा हूं। – Ashley