2017-01-27 6 views
0

データベース内のすべてのテーブルに対してコマンドを実行するにはどうすればよいですか?ALTER TABLE ALL TABLES ROW_FORMAT =修正済みです。

ALTER TABLE table_name ROW_FORMAT=Fixed; 

私は40000を超えるテーブルを持っています。私はそれらをすべて一度に変更したいと思います。

+0

私は40000テーブルは本当に対処すべき問題だと言いますが、そのテーブルが多い場合は、完全に始めることなくその問題に対処するには遅すぎるかもしれません。 – Uueerdo

答えて

0

ALTER文ごとに複数のテーブルを変更することはできません。 information_schemaでクエリを使用できます。 tablesを使用して、alter文を生成します。

何かInnoDBテーブルに対してサポートされていませんFIXEDに注意してください、そしてそれも明示的にMyISAMのものに設定された(またはテーブルの上で完全に依存していることができるならば、私は100%を確認していない

SELECT CONCAT('ALTER TABLE `', table_name, '` ROW_FORMAT=fixed;') AS aQuery FROM information_schema.tables WHERE table_schema = 'myschema' 

のような

関連する問題