有条件地在sql上更改列类型?

时间:2017-04-27 11:53:28

标签: mysql

如果在mysql中为Boolean,我想有条件地将sql中的列类型更改为Integer。我知道如果给出列名更新的方法,但由于列数很多,这是不可行的。基本上在下面的例子中

Alter table TableName Alter Column ColumnName nvarchar(100)

我想将conition应用于ColumnName

列表

1 个答案:

答案 0 :(得分:1)

您可以用这种方式生成命令(但要注意现有列中包含的值):

SELECT CONCAT('ALTER TABLE ',TABLE_NAME,' ALTER COLUMN ', COLUMN_NAME,' bit;') AS cmd FROM INFORMATION_SCHEMA.columns 
WHERE 1=1
AND data_type = 'int'
AND TABLE_NAME = 'FILES';