短いinsert文をダンプ

mysqldumpで、短いinsert文をダンプするコマンドを解説する。通常、mysqldumpでは、ひとつのinsert文で複数のレコードを作成するようにinsert文が出力される。この「短いinsert文をダンプ」では、ひとつのレコードごとにinsert文を分けて作成される。

コマンド

コマンドは下記のとおりである。 –skip-extended-insertがポイントだ。

具体例

少し具体的に書こう。DB情報等が下記であったとする。

項目
DBユーザ名 pudding
DBパスワード qwerty123456
DB名 zipcode
ダンプファイル名 skip-extended-insert.sql

このDB情報等を反映すると、下記のように書くことになる。

出力

出力は以下のようになる。見ると分かる通り、insert文が1レコードごとに分割されて出力されている。

用途

用途としては、インポートエラー時のエラー原因調査であろう。ダンプファイルをインポートした際、insert文実行時にエラーが発生し、インポートが完了しないことがある。その際、1つのinsert文で複数のレコードをinsertしていると、原因調査がやりづらい。この短いinsert文でのダンプでは、エラー特定が簡単だ。

一方、1レコードごとにinsert文を実行するので、インポート時にかかる実行時間は長くなる。大きなデータを扱う場合には注意だ。

INSERT文のカスタム


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください