Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 是否有条件地更改sql上的列类型?_Mysql - Fatal编程技术网

Mysql 是否有条件地更改sql上的列类型?

Mysql 是否有条件地更改sql上的列类型?,mysql,Mysql,我想有条件地将sql中的列类型更改为Boolean,如果它在mysql中是整数。我知道如果给定了列名,更新的方法,但是由于列的数量太多,这是不可行的。基本上如下例所示 Alter table TableName Alter Column ColumnName nvarchar(100) 我想将Conion应用于ColumnName列表您可以用这种方式生成命令,但请注意现有列中包含的值: SELECT CONCAT('ALTER TABLE ',TABLE_NAME,' ALTER COLUMN

我想有条件地将sql中的列类型更改为Boolean,如果它在mysql中是整数。我知道如果给定了列名,更新的方法,但是由于列的数量太多,这是不可行的。基本上如下例所示

Alter table TableName Alter Column ColumnName nvarchar(100)

我想将Conion应用于ColumnName列表

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

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';

是否编写代码来生成alter语句?