MySQL कॉलम परिभाषा कैसे बदलें?


156

मेरे पास परीक्षण नामक एक mySQL टेबल है:

create table test(
    locationExpect varchar(120) NOT NULL;
);

मैं स्थान को बदलना चाहता हूं। स्तंभ को निम्न में बदलें:

create table test(
    locationExpect varchar(120);
);

इसे जल्दी कैसे किया जा सकता है?

जवाबों:


273

क्या इसका मतलब यह है कि तालिका बनाने के बाद इसमें फेरबदल किया गया है? यदि आपको विशेष रूप से परिवर्तन तालिका का उपयोग करने की आवश्यकता है , तो:

ALTER TABLE tablename MODIFY COLUMN new-column-definition

जैसे

ALTER TABLE test MODIFY COLUMN locationExpect VARCHAR(120);

5
इसलिए ... MySQLWorkbench में एक सिंटैक्स चेकिंग बग है जो इस कमांड को अस्वीकार करता है। लेकिन, यह सही आदेश है।
स्टीवन लू

खबरदार: उपरोक्त उदाहरण भी COLUMN को Null = Yes, Default = Null में बदल देगा। यदि आप नल नहीं चाहते हैं तो आपको अलग-अलग मान निर्दिष्ट करने होंगे।
गाइ गॉर्डन

@GuyGordon मूल प्रश्न में मास्कNOT NULL नल से अनुमति देने के लिए एक कॉलम बदलना चाहता था, इसलिए मुझे लगता है कि यह उदाहरण अभी भी ठीक है। सहमत हूँ कि एक अलग डिफ़ॉल्ट चाहता था, हालांकि एक मामूली बदलाव की आवश्यकता होगी।
मायकेज

43

MySql में कॉलम का नाम बदलने के लिए सिंटैक्स :

alter table table_name change old_column_name new_column_name data_type(size);

उदाहरण:

alter table test change LowSal Low_Sal integer(4);

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.