2012-04-25 12 views
12

Fondamentalmente, Attualmente ho una colonna in una tabella MySQL, che è un int.Cambiare la colonna in MySQL da int a raddoppiare?

mi piacerebbe cambiare la situazione per raddoppiare. Ho cercato sul web, ma tutto ciò che è venuto fuori è stata la conversione dopo aver ottenuto i valori dalla colonna (come convertire qualche data in data), ma non è quello che intendo.

Immagino che sia qualcosa con Alter Table, e l'ho visto sulla pagina di sviluppo di MySQL, ma non sono riuscito a trovare quello che stavo cercando.

+0

presumo si intende "colonna", non "riga"? – eggyal

+0

Sì, è quello che sto dicendo. – Lolmewn

risposta

22

Ecco la vera sintassi. Assicurarsi di impostare il supporto di valori Null troppo in modo appropriato:

ALTER TABLE your_table 
MODIFY COLUMN your_column DOUBLE NULL; 

o

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

Nullability è facoltativo in un [*** 'column_definition' ***] (http://dev.mysql.com/doc/refman/5.6/en/create-table.html) - il valore predefinito è' null' se non specificato; perché non sostenere che tutti gli altri attributi facoltativi dovrebbero essere specificati al posto di accettare i loro valori predefiniti? – eggyal

+1

Sto cercando di aiutare l'OP a evitare di cambiare accidentalmente il nullability quando cambiano il tipo di dati. Certamente lo stesso vale per i valori predefiniti, ecc., Ma stavo cercando di affrontare lo scenario più probabile. Se la colonna originale NON era NULL e l'OP utilizza la risposta, la colonna cambierà in NULL. –

+0

Grazie Ike - credo che la spiegazione è molto utile (si spera per il PO troppo). +1 – eggyal

4

Hai ragione che è necessario utilizzare ALTER TABLE. Il comando sarà simile a questo:

ALTER TABLE tablename MODIFY COLUMN columnname DOUBLE; 
+0

Provalo ora, grazie per il post veloce. – Lolmewn