सभी प्रबंधन स्टूडियो आपके लिए कुछ SQL बनाने के लिए UI प्रदान करता है और इसे DB के विरुद्ध चलाता है।
आपके मामले में, हर बार जब आप एक पंक्ति जोड़ते हैं, तो यह एक INSERT कथन उत्पन्न करता है। यह पूरी तरह से मान्य है।
जब आपने इन सभी डुप्लिकेट रिकॉर्ड्स में से एक रिकॉर्ड को DELETE या UPDATE करने के लिए UI का उपयोग करने का प्रयास किया, तो वह ऐसा करने के लिए SQL का उत्पादन करने में असमर्थ था। इसका कारण यह है कि टेबल पर कोई कुंजी नहीं थी, WHERE क्लॉज बनाने का कोई तरीका नहीं है जो उस रिकॉर्ड का प्रतिनिधित्व करेगा जिसे आप अपडेट करने या हटाने का प्रयास कर रहे थे।
यह "त्रुटि" संदेश मेरे लिए बिल्कुल स्पष्ट और मान्य है।
आपकी टिप्पणियों के लिए:
<ब्लॉकक्वॉट>मेरे आश्चर्य के लिए, इसने मुझे दूसरी पंक्ति में "मान 1" दर्ज करने और नीचे प्रवेश करने की अनुमति दी - यह असंभव होना चाहिए क्योंकि अब दो समान पंक्तियाँ हैं। हालांकि, चूंकि मैं सिर्फ गड़बड़ कर रहा था, इसने मुझे परेशान नहीं किया।
जाहिर है यह अजीब है और संबंधपरक सिद्धांत को तोड़ता है, लेकिन मुझे वास्तव में परवाह नहीं थी क्योंकि यह सिर्फ एक टेबल है जिसे गड़बड़ाने के लिए बनाया गया है।
डेटाबेस तालिका होने में कुछ भी गलत नहीं है जो डुप्लिकेट की अनुमति देता है, यदि आपको इसकी आवश्यकता है तो यह करने के लिए एक पूरी तरह से वैध चीज है। जहाँ तक "देखभाल" या "परेशान" न होने की बात है कि आपने डुप्लिकेट की अनुमति दी थी। यहीं गलती है। तब आपको एहसास होना चाहिए था कि आप प्राथमिक कुंजी जोड़ना भूल गए हैं।