MySQL - 如何更改所有数据库中的列数据类型?
MySQL - How to alter column datatype in all databases?
在我的远程服务器上,我需要更新所有数据库中 table 中的列。我怎样才能一次完成这一切?我有超过一百个具有相同 table.
的数据库
ALTER TABLE tablename MODIFY columnname VARCHAR(255);
您可以编写一个 SQL 查询来发出执行此操作的脚本。该查询查看 information_schema
table 描述服务器中的列,并生成一系列 ALTER
查询。然后你 运行 那些查询。
SELECT CONCAT(' ALTER TABLE `', TABLE_SCHEMA, '`.`', TABLE_NAME,
'` MODIFY `',COLUMN_NAME,'` VARCHAR(255);') ddl
FROM information_schema.`COLUMNS`
WHERE TABLE_NAME = 'tablename'
AND COLUMN_NAME IN ('columnname')
没有任何 oneliner 可以做 ALTER TABLE *.tablename
或类似的事情。
在我的远程服务器上,我需要更新所有数据库中 table 中的列。我怎样才能一次完成这一切?我有超过一百个具有相同 table.
的数据库ALTER TABLE tablename MODIFY columnname VARCHAR(255);
您可以编写一个 SQL 查询来发出执行此操作的脚本。该查询查看 information_schema
table 描述服务器中的列,并生成一系列 ALTER
查询。然后你 运行 那些查询。
SELECT CONCAT(' ALTER TABLE `', TABLE_SCHEMA, '`.`', TABLE_NAME,
'` MODIFY `',COLUMN_NAME,'` VARCHAR(255);') ddl
FROM information_schema.`COLUMNS`
WHERE TABLE_NAME = 'tablename'
AND COLUMN_NAME IN ('columnname')
没有任何 oneliner 可以做 ALTER TABLE *.tablename
或类似的事情。