2010-08-24 12 views
197

मैं तालिका तालिका को शून्य करने के लिए बदलना चाहता हूं। मैंने उपयोग किया है:कॉलम को शून्य करने योग्य

ALTER TABLE Merchant_Pending_Functions Modify NumberOfLocations NULL 

यह Modify पर एक त्रुटि देता है। सही वाक्यविन्यास क्या है?

+6

मैं एसक्यूएल सर्वर टैग निकाल दिया है भविष्य –

+1

में त्रुटि संदेश पोस्ट करें के रूप में यह लग रहा है इस तरह सभी के लिए एक सामान्य मुक्त हो गया है। –

उत्तर

329

SQL Server मान लिया जाये कि (अपने पिछले प्रश्नों पर आधारित):

ALTER TABLE Merchant_Pending_Functions ALTER COLUMN NumberOfLocations INT NULL 

अपने वास्तविक डेटाप्रकार साथ INT बदलें।

5

हालांकि मुझे नहीं पता कि आप कौन सी आरडीबीएमएस का उपयोग कर रहे हैं, आपको शायद पूरे कॉलम विनिर्देश देने की जरूरत है, न केवल यह कहें कि अब आप इसे बेकार करना चाहते हैं। उदाहरण के लिए, यदि यह वर्तमान में INT NOT NULL है, तो आपको ALTER TABLE Merchant_Pending_Functions Modify NumberOfLocations INT जारी करना चाहिए।

+0

यह एक सही और वर्णनात्मक उत्तर है, इसलिए केवल स्पष्ट करें कि 'शून्य' | 'न्यूल नहीं 'निर्दिष्ट नहीं है, कॉलम निरर्थक होगा। –

4

जैसा कि अन्य ने देखा है, कमांड के लिए सटीक वाक्यविन्यास डीबीएमएस के विभिन्न स्वादों में भिन्न होता है। वाक्य रचना आप Oracle में काम करता है का उपयोग करें:

SQL> desc MACAddresses 
Name          Null? Type 
----------------------------------------- -------- ---------------------------- 
COMPUTER           NUMBER 
MACADDRESS           VARCHAR2(12) 
CORRECTED_MACADDRESS      NOT NULL VARCHAR2(17) 

SQL> alter table MACAddresses 
    2  modify corrected_MACAddress null 
    3/

Table altered. 

SQL> desc MACAddresses 
Name          Null? Type 
----------------------------------------- -------- ---------------------------- 
COMPUTER           NUMBER 
MACADDRESS           VARCHAR2(12) 
CORRECTED_MACADDRESS        VARCHAR2(17) 

SQL> 
37
Oracle डाटाबेस 10g उपयोगकर्ताओं के लिए

:

alter table mytable modify(mycolumn null); 

आप प्राप्त "ORA-01735: अवैध ALTER तालिका विकल्प" जब आप अन्यथा कोशिश

ALTER TABLE mytable ALTER COLUMN mycolumn DROP NOT NULL; 
+0

कूल, आपको डेटा-प्रकार निर्दिष्ट करने की आवश्यकता नहीं है, इसे शून्य बनाने के लिए बस "शून्य" करें। –

29

यदि यह MySQL वाक्यविन्यास था, तो प्रकार गुम हो गया होगा, क्योंकि कुछ अन्य प्रतिक्रियाएं बताती हैं। सही MySQL वाक्य रचना हो गया होता:

ALTER TABLE Merchant_Pending_Functions MODIFY NumberOfLocations INT NULL 

स्पष्टता के लिए यहाँ पोस्ट कर रहा है MySQL उपयोगकर्ताओं के लिए।

7

PostgreSQL में यह है:

ALTER TABLE tableName ALTER COLUMN columnName DROP NOT NULL; 
संबंधित मुद्दे