2010-12-03 11 views
21

मेरी MySQL तालिकाओं में से एक के साथ, मैंने इसे एक अद्वितीय इंडेक्स (col0, col1, col2, col3) से ड्रॉप करने से पहले कॉलम col1 छोड़ दिया।क्या होता है यदि मैं अपनी अनुक्रमणिका को पहले छोड़कर एक MySQL कॉलम ड्रॉप करता हूं?

क्या यह स्वचालित रूप से MySQL द्वारा ख्याल रखा जाता है? ऐसा लगता है कि कॉलम col1 को हटाए जाने के बाद यह पहले अद्वितीय था (col0, col1, col2, col3) स्वचालित रूप से (col0, col2, col3) में बदल दिया गया था।

क्या यह एक समस्या होगी या क्या मुझे अद्वितीय अनुक्रमणिका छोड़नी है और इसे फिर से बनाना है (col0, col2, col3)?

उत्तर

42

अनुसार MySQL 5.1 Reference Manual:

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

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