リモートサーバーで、すべてのデータベースのテーブルの列を更新する必要があります。どうすればこれを一度に行うことができますか?同じテーブルを持つ100を超えるデータベースがあります。
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
。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加