2009-05-20 11 views
36

यह दस्तावेज़ीकरण में स्पष्ट रूप से उल्लेख नहीं किया गया है (http://dev.mysql.com/doc/refman/6.0/en/drop-table.html)। मैं पूछता हूं क्योंकि मैंने एक रेल परियोजना में एक उत्सुक डेटाबेस माइग्रेशन देखा जहां डेवलपर टेबल छोड़ने से पहले सभी इंडेक्स को हटा रहा था, और यह अनावश्यक लग रहा था।MySQL में एक टेबल छोड़ना इंडेक्स को भी छोड़ देता है?

उत्तर

34

हां, यह करता है।

हालांकि, यदि आपके पास विदेशी कुंजी की बाधाएं हैं जैसे कि रीस्ट्रिक्ट जो अन्य तालिकाओं के साथ रेफरेंशियल अखंडता सुनिश्चित करती है, तो आप उन कुंजी को किसी तालिका को छोड़ने या छंटनी से पहले छोड़ना चाहेंगे।

3

हां यह सूचकांक छोड़ देगा। यदि अंतर्निहित तालिका नहीं है तो अनुक्रमणिका को रखने का कोई कारण नहीं है। मुझे संदेह है कि डाउनवर्ड माइग्रेशन सिर्फ एक-से-एक आधार पर ऊपर की ओर माइग्रेशन के विपरीत कर रहा है। सीडीओ का मामला हो सकता है - जैसे OCD, लेकिन पत्र सही क्रम में हैं।

1

यह असफल है। हालांकि आपका ड्रॉप टेबल तब भी रोका जा सकता है जब तालिका विदेशी कुंजी रिश्ते का हिस्सा हो और आपकी तालिका छोड़ने से निर्भरता टूट जाएंगी।

संबंधित मुद्दे