web-dev-qa-db-ja.com

MySQLDumpデータ行ごとに1つのINSERTステートメント

次の文で:

mysqldump --complete-insert --lock-all-tables --no-create-db 
--no-create-info --extended-insert --password=XXX -u XXX 
--dump-date yyy > yyy_dataOnly.sql

次のようなINSERTステートメントを取得します。

INSERT INTO `table` VALUES (1,'something'),(2,'anything'),(3,'everything');

私の場合に必要なのは次のようなものです:

INSERT INTO `table` VALUES (1,'something');
INSERT INTO `table` VALUES (2,'anything');
INSERT INTO `table` VALUES (3,'everything');

「mysqldump」に行ごとに新しいINSERTステートメントを作成するように指示する方法はありますか?ご協力いただきありがとうございます!

151
rexford

使用:

mysqldump --extended-insert=FALSE 

複数の挿入は、1つの大きな挿入よりも遅いことに注意してください。

239
driis

新しいバージョンでは、フラグが変更されました:ドキュメントから:

--extended-insert、-e

複数のVALUESリストを含む複数行の構文を使用して、INSERTステートメントを記述します。これにより、ダンプファイルが小さくなり、ファイルのリロード時の挿入が高速化されます。

--opt

デフォルトで有効になっているこのオプションは、--add-drop-table --add-locks --create-options --disable-keys --extended-insert --lock-tables --quick-の組み合わせの省略形ですセット文字セット。高速なダンプ操作を提供し、MySQLサーバーにすばやくリロードできるダンプファイルを生成します。

--optオプションはデフォルトで有効になっているため、その逆の--skip-optのみを指定して、いくつかのデフォルト設定をオフにします。 --optの影響を受けるオプションのサブセットを選択的に有効または無効にする方法については、mysqldumpオプショングループの説明を参照してください。

--skip-extended-insert

拡張挿入をオフにする

1
israel berko