2013-04-04 12 views
34

मैं एकाधिक कॉलम ड्रॉप करने की कोशिश कर रहा हूं, लेकिन कुछ परेशानी है। नीचे दिए गए वाक्यविन्यास काम करते हैं जब मैं ALTER TABLE और ADD ब्रैकेट () में एकाधिक मानों के साथ करता हूं लेकिन यह DROP COLUMN के साथ काम नहीं करता है। क्या मैं गलत वाक्यविन्यास का उपयोग कर रहा हूं?MySQL ड्रॉप एकाधिक कॉलम

$table3 = " 
     ALTER TABLE $table3_name 
     DROP COLUMN (
      user_firstname, 
      user_lastname, 
      user_address, 
      user_address2, 
      user_city, 
      user_state, 
      user_zip, 
      user_phone 
     ); 
    "; 
+0

प्रलेखन में ऐसा कोई वाक्यविन्यास नहीं है, आपको 'वैकल्पिक तालिका टी 2 ड्रोप कॉलम सी, ड्रॉप कॉलम डी;' – MatRt

+0

जैसे कुछ का उपयोग करना चाहिए ऐसा लगता है जैसे उत्तर [प्रश्न] (http: // stackoverflow में था। कॉम/q/3,894,789)। – HamZa

+0

संभावित डुप्लिकेट [मैं एक एकल वैकल्पिक तालिका कथन के साथ एकाधिक कॉलम कैसे ड्रॉ कर सकता हूं?] (Http://stackoverflow.com/questions/6346120/how-do-i-drop-multiple-columns-with-a-single- परिवर्तन-तालिका-कथन) – Veve

उत्तर

67
ALTER TABLE `tablename` 
DROP `column1`, 
DROP `column2`, 
DROP `column3`; 
+0

यही वह है जिसे मैंने आगे की कोशिश की और यह काम किया। बस सोचा कि यह अजीब था कि जब अन्य प्रश्नों के लिए काम करता है तो अन्य वाक्यविन्यास कैसे काम नहीं करता है। धन्यवाद। –

+0

@CoryNickerson ड्रॉपिंग अन्य कार्यों से अलग है जैसे कि –

+2

कोई समस्या नहीं है, बैक-अप होने के लिए मत भूलना, हालांकि :) – void

2

एकाधिक स्तंभों वास्तविक वाक्य रचना ड्रॉप करने के लिए

alter table tablename drop column col1, drop column col2 , drop column col3 .... 
प्रत्येक स्तंभ आप Mysql 5.0.45 में "ड्रॉप कॉलम" निर्दिष्ट करने की आवश्यकता के लिए

तो है। यह उपरोक्त उत्तर के समान है। बस एक बिंदु जोड़ना। परिवर्तन तालिका डिस्क पर वास्तविक स्थान मुक्त नहीं होगा। तो अनुकूलन तालिका चलाने के बाद तालिका अनुकूलित करें।

+1

शब्द "कॉलम" वैकल्पिक है। –

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