2017-02-16 15 views
0

データベースが100個あり、すべてのテーブルに "country varchar(20)not null"というカラムがあります。今は少し前にダンプされた大きなSQLファイルがあり、すべてのテーブルには国の列がありません。mysql SQL実行中にカラムのデフォルト値を設定する方法

mysql -u root -p newDatabase < dump_sql_file.sql 

上記のコマンド実行時にデフォルトの列値country = "US"を設定する方法はありますか?データベースが生きていると他のユーザーによって使用されているので、

country varchar(20) not null default "US" 

許容できないテーブルのスキーマを変更します。

難しいのは、すべてのcreateコマンドとinsertコマンドにcountry列を追加してSQLファイルを変更することです。それが私たちが避けたいものです。ユーザーがSQLファイルを操作できるSQLパーサのようなツールはありますか?

ありがとうございました。

答えて

0

INSERTは少し遅くなりますが、列のテーブルに対しては、BEFORE INSERTトリガーを書き込み、行が挿入される前に値を設定する方法があります。

HereのドキュメントBEFORE INSERTのトリガーです。

関連する問題