2016-09-28 5 views
5
ALTER TABLE user DROP COLUMN registered_date 

हम उपरोक्त आदेश का उपयोग करके एक कॉलम छोड़ सकते हैं। लेकिन अगर मैं register_date कॉलम मौजूद हूं तो मैं इसे कैसे छोड़ सकता हूं?mysql में मौजूद होने पर कॉलम को कैसे छोड़ें?

+0

यह नहीं दिखता है एक तरह से है, लेकिन सबसे खराब स्थिति तो आपको एक त्रुटि जो आप अपने अनुप्रयोग परत में संभाल सकता मिलेगा। –

+0

यह इस वैकल्पिक टैबलेट उपयोगकर्ता ड्रॉप कॉलम अगर EXISTS पंजीकृत_डेट की तरह दिखेगा; –

+0

@ दीपक जोजी मुझे सिंटेक्स त्रुटि मिलेगी: "अप्रत्याशित IF"। – CloudSeph

उत्तर

-1
IF EXISTS(SELECT * 
      FROM information_schema.COLUMNS 
      WHERE 
      TABLE_SCHEMA = 'db_name' 
      AND TABLE_NAME = 'table_name' 
      AND COLUMN_NAME = 'column_name') 
BEGIN 
ALTER TABLE table_name DROP COLUMN column_name 
END 

या

IF (SELECT COUNT(*) 
      FROM information_schema.COLUMNS 
      WHERE 
      TABLE_SCHEMA = 'db_name' 
      AND TABLE_NAME = 'table_name' 
      AND COLUMN_NAME = 'column_name'>0) 
BEGIN 
ALTER TABLE table_name DROP COLUMN column_name 
END 
+0

मुझे सिंटैक्स त्रुटि मिलती है 'यदि इस स्थिति में मान्य इनपुट नहीं है'। अगर मैं – CloudSeph

+0

@IvanCloud का पालन करता हूं तो उन कथन combos केवल एक संग्रहित proc – Drew

+0

की तरह उपलब्ध हैं, अगर अमान्य वाक्यविन्यास काम नहीं करता है – Clintm

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