繁体   English   中英

MySQL-如何更改所有数据库中的列数据类型?

[英]MySQL - How to alter column datatype in all databases?

在远程服务器上,我需要更新所有数据库中表中的列。 我如何一次完成所有这一切? 我有超过一百个具有相同表的数据库。

ALTER TABLE tablename MODIFY columnname VARCHAR(255);

您可以编写SQL查询以发出执行此操作的脚本。 该查询查看描述您服务器中各列的information_schema表,并生成一系列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或类似的事情。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM