@Adrian कोर्निश का जवाब सही है। हालांकि, मौजूदा प्राथमिक कुंजी को छोड़ने के लिए एक और चेतावनी है। यदि उस प्राथमिक कुंजी को किसी अन्य तालिका द्वारा विदेशी कुंजी के रूप में उपयोग किया जा रहा है, तो इसे छोड़ने का प्रयास करते समय आपको एक त्रुटि मिलेगी। mysql त्रुटि संदेश के कुछ संस्करणों में वहाँ विकृत हो गया (5.5.17 के रूप में, इस त्रुटि संदेश अभी भी
alter table parent drop column id;
ERROR 1025 (HY000): Error on rename of
'./test/#sql-a04_b' to './test/parent' (errno: 150).
आप एक प्राथमिक कुंजी है कि एक और मेज से संदर्भित किया जा रहा है छोड़ने के लिए चाहते हैं, आप ड्रॉप करना होगा कि अन्य तालिका में पहली बार विदेशी कुंजी। आप यह भी है कि विदेशी कुंजी को पुन: कर सकते हैं अगर आप अभी भी यह चाहते आप प्राथमिक कुंजी पुन: बनाने के बाद।
, जब संयुक्त कुंजियों का उपयोग, क्रम महत्वपूर्ण है। ये
1) ALTER TABLE provider ADD PRIMARY KEY(person,place,thing);
and
2) ALTER TABLE provider ADD PRIMARY KEY(person,thing,place);
नहीं हैं वही चीज। वे दोनों तीन क्षेत्रों के उस सेट पर विशिष्टता को लागू करते हैं, हालांकि इंडेक्सिंग दृष्टिकोण से एक अंतर होता है। खेतों को बाएं से दाएं अनुक्रमित किया जाता है। उदाहरण के लिए, निम्नलिखित प्रश्नों पर विचार करें:
A) SELECT person, place, thing FROM provider WHERE person = 'foo' AND thing = 'bar';
B) SELECT person, place, thing FROM provider WHERE person = 'foo' AND place = 'baz';
C) SELECT person, place, thing FROM provider WHERE person = 'foo' AND place = 'baz' AND thing = 'bar';
D) SELECT person, place, thing FROM provider WHERE place = 'baz' AND thing = 'bar';
बी ALTER बयान 1
एक में प्राथमिक कुंजी सूचकांक का उपयोग कर सकते ALTER बयान में प्राथमिक कुंजी सूचकांक का उपयोग कर सकते 2
सी का उपयोग कर सकते सूचकांक
डी इंडेक्स
ए का उपयोग नहीं कर सकता है आंशिक अनुक्रमणिका के रूप में इंडेक्स 2 में पहले दो फ़ील्ड का उपयोग करता है। ए इंडेक्स 1 का उपयोग नहीं कर सकता क्योंकि यह इंडेक्स के मध्यवर्ती स्थान हिस्से को नहीं जानता है। यह अभी भी व्यक्ति पर आंशिक सूचकांक का उपयोग करने में सक्षम हो सकता है।
डी या तो इंडेक्स का उपयोग नहीं कर सकता क्योंकि यह व्यक्ति को नहीं जानता है।
अधिक जानकारी के लिए mysql दस्तावेज़ here देखें।
यह तीन अद्वितीय पीकेएस, नहीं एक समग्र पी कहते हैं। – David542
@ डेविड 542 नहीं यह नहीं करता - आपके पास केवल 1 प्राथमिक कुंजी हो सकती है। –
@ डेविड: यह एक ही प्राथमिक कुंजी है जो कई क्षेत्रों से बना है, उर्फ एक समग्र कुंजी है। –