修改MySQL表中单个查询中的多个数据类型字段

时间:2015-01-27 00:27:28

标签: mysql sql database

我需要在MySQL数据库表中更改很多数据类型字段。对于所有字段(当前最多INTEGER),所需字段数据类型VARCHAR相同。

此查询正常工作:

ALTER TABLE heights MODIFY height1 INTEGER;

问题是我的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;)。

如何在同一个查询中转换所有内容?

3 个答案:

答案 0 :(得分:3)

MODIFY是必须重复的改动的一部分

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

参考文献:

答案 1 :(得分:3)

尝试:

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

请参阅:http://dev.mysql.com/doc/refman/5.1/en/alter-table.html

答案 2 :(得分: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, ....