某案件で開発環境のDBテーブルはprefixなしだけど、テスト環境ではprefixありという案件があり、prefix無し環境だと問題ないけど、prefix有り環境だとエラーが発生するというのが度々あったので、開発環境もprefix有りにするために、一括でprefixを追加する方法を調べたのでメモしておきます。
まず全テーブルのALTER TABLE文を生成するクエリの実行。("prefix_"を追加したprefixに変更し、データベース名を対象とするDB名に変更して実行する)
SELECT Concat('ALTER TABLE `', TABLE_NAME, '` RENAME TO `prefix_', TABLE_NAME, '`;') FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'データベース名';
これでALTER TABLE文が全テーブル分出力されるので、出力された各ALTER文を実行すればprefix追加完了です。
ALTER TABLE生成のSQLは下記で見つけました。
rename - How to add prefix of all tables in mysql - Stack Overflow