1
私のリモートサーバーでは、すべてのデータベースのテーブルの列を更新する必要があります。これを一度にどのように行うことができますか?私は同じテーブルを持つ100以上のデータベースを持っています。MySQL - すべてのデータベースでカラムのデータ型を変更するには?
ALTER TABLE tablename MODIFY columnname VARCHAR(255);
私のリモートサーバーでは、すべてのデータベースのテーブルの列を更新する必要があります。これを一度にどのように行うことができますか?私は同じテーブルを持つ100以上のデータベースを持っています。MySQL - すべてのデータベースでカラムのデータ型を変更するには?
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')
ALTER TABLE *.tablename
またはそのような何かを行うにはどのonelinerはありません。
私はフラットmysqlコマンドラインまたはクライアントではできないと思います。少なくとも、すべてのデータベース名とbashスクリプトを含むファイルを使用する必要があります。あなたはあなたが使用している言語でも行くことができます。 Rubystとして、mysql2 gemと単純なrubyスクリプトを使用することをお勧めします。 – tebayoso