簡體   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