2015-01-27 105 views
-1

我需要更改MySQL數據庫表中的很多數據類型字段。所有字段的期望數據類型是相同的INTEGER(它們當前最爲VARCHAR)。修改MySQL表中單個查詢中的多個數據類型字段

此查詢工作正常:

ALTER TABLE heights MODIFY height1 INTEGER;

的problemas是我heights表有更多的塔100場(height1,heightProm,heightMax等),我需要改變所有類型這些字段爲INTEGER

我試試: ALTER TABLE heights MODIFY height1 INTEGER, height2 INTEGER, height3 INTEGER;但無效(MySQL返回You have an error in your SQL syntax;)。

任何方式來轉換所有在同一個查詢?

+0

「但不工作「。 - - 這是什麼意思? – zerkms 2015-01-27 00:29:07

+0

不是。什麼實際的錯誤? – zerkms 2015-01-27 00:31:35

+0

錯誤代碼:1064.您的SQL語法錯誤;檢查與您的MySQL服務器版本相對應的手冊,以獲取在height2附近使用的正確語法。 – Wronski 2015-01-27 00:32:43

回答

3

syntax for ALTER TABLE是:

ALTER TABLE table_name 
[alter spec 1], 
[alter spec 2], ... 

而在你的情況下,alter specMODIFY column dataType,所以你需要寫的東西是這樣的:

ALTER TABLE heights 
MODIFY height1 INTEGER, 
MODIFY height2 INTEGER, .... 
3

MODIFY是改變的一部分,必須反覆

ALTER TABLE heights MODIFY height1 INTEGER, 
        MODIFY height2 INTEGER, 
        MODIFY height3 INTEGER; 

參考文獻:

+0

哇,我們在同一時間回答:) – pyb 2015-01-27 00:33:18

+0

@BobM是的,我雖然更快。相互+1 ;-P – zerkms 2015-01-27 00:33:34

+0

我們三個人同時回答;) – Barranka 2015-01-27 00:40:28

相關問題