MySQL - 改变列类型

时间:2014-10-09 00:33:26

标签: mysql sql

使用MySQL,给定一个包含3个已知命名列(EG“Column1”,“Column2”和“Column3”)的表(名为“Table1”)和未知数量的未知命名列,如何设置类型带有SQL语句的所有未知列到varchar(40)?

2 个答案:

答案 0 :(得分:1)

只需生成所需的语句并运行它们

select concat('alter table ',  table_name, ' modify column ', column_name, ' VARCHAR(40)') from information_schema.columns  
where table_schema='yourdb' and table_name='table1' 
and column_name NOT IN('col1','col2','col3')

答案 1 :(得分:0)

我不知道任何这样的sql语句可以做到这一点,但你可以编写一个简短的程序来查询Table1中的列名,然后构建ALTER sql命令将所有列设置为varchar(40)。

相关问题