2015-01-27 32 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

相关问题