我需要在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;
)。
如何在同一个查询中转换所有内容?
答案 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;
答案 2 :(得分:3)
ALTER TABLE table_name
[alter spec 1],
[alter spec 2], ...
在你的情况下,alter spec
是MODIFY column dataType
,所以你需要写这样的东西:
ALTER TABLE heights
MODIFY height1 INTEGER,
MODIFY height2 INTEGER, ....