2012-04-25 14 views
12

असल में, मेरे पास वर्तमान में एक MySQL तालिका में एक कॉलम है, जो एक int है।MySQL में int से डबल तक कॉलम बदल रहा है?

मैं इसे डबल में बदलना चाहता हूं। मैंने वेब की खोज की है, लेकिन यह सब कॉलम से मूल्य प्राप्त करने पर रूपांतरण के साथ आया था (जैसे कुछ तारीख को तिथि में परिवर्तित करना), लेकिन मेरा मतलब यह नहीं है।

मुझे लगता है कि यह आल्टर टेबल के साथ कुछ है, और मैंने इसे MySQL dev पृष्ठ पर देखा, लेकिन जो मैं ढूंढ रहा था उसे नहीं मिला।

+0

मुझे लगता है तुम्हारा मतलब "कॉलम", नहीं "पंक्ति"? – eggyal

+0

हाँ, यही वह है जो मैं मानता हूं। – Lolmewn

उत्तर

22

यहां वास्तविक वाक्यविन्यास है। उचित रूप से भी nullability स्थापित करने के लिए सुनिश्चित करें:

ALTER TABLE your_table 
MODIFY COLUMN your_column DOUBLE NULL; 

या

ALTER TABLE your_table 
MODIFY COLUMN your_column DOUBLE NOT NULL; 
+0

शून्यता [*** 'column_definition' ***] में वैकल्पिक है (http://dev.mysql.com/doc/refman/5.6/en/create-table.html) - यह' NULL' पर डिफ़ॉल्ट है निर्दिष्ट नहीं है; क्यों न तर्क दें कि अन्य सभी वैकल्पिक विशेषताओं को भी उनके डिफ़ॉल्ट स्वीकार करने के स्थान पर निर्दिष्ट किया जाना चाहिए? – eggyal

+1

मैं ओपी की मदद करने की कोशिश कर रहा हूं जब वे डेटा प्रकार बदलते हैं तो गलती से नामुमकिनता को बदलने से बचें। निश्चित रूप से वही डिफ़ॉल्ट मानों आदि के लिए सच है, लेकिन मैं सबसे संभावित परिदृश्य को संबोधित करने की कोशिश कर रहा था। यदि मूल कॉलम पूर्ण नहीं था और ओपी आपके उत्तर का उपयोग करता है, तो कॉलम NULL में बदल जाएगा। –

+0

धन्यवाद Ike - मुझे लगता है कि स्पष्टीकरण बहुत उपयोगी है (उम्मीद है कि ओपी भी)। +1 – eggyal

4

आप सही हैं कि आपको ALTER TABLE का उपयोग करने की आवश्यकता है। कमांड इस तरह कुछ दिखाई देगा:

ALTER TABLE tablename MODIFY COLUMN columnname DOUBLE; 
+0

इसे अभी आज़माएं, त्वरित पोस्ट के लिए धन्यवाद। – Lolmewn

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