MySQLDump satu pernyataan INSERT untuk setiap baris data


178

dengan pernyataan berikut:

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

Saya mendapatkan pernyataan INSERT seperti berikut:

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

Yang saya butuhkan dalam kasus saya adalah sesuatu seperti ini:

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

Apakah ada cara untuk memberi tahu "mysqldump" untuk membuat pernyataan INSERT baru untuk setiap baris? Terima kasih atas bantuan Anda!

Jawaban:


277

Menggunakan:

mysqldump --extended-insert=FALSE 

Sadarilah bahwa banyak sisipan akan lebih lambat dari satu sisipan besar.


75
--skip-extended-insert muncul menjadi sintaks yang benar untuk saya (menggunakan mysqldump versi 10.13)
Isaac Betesh

17
Lebih lambat, ya, tetapi banyak editor teks mengalami masalah dengan garis teks yang sangat panjang dan jika tabel memiliki sejumlah besar data, itulah yang akan terjadi.
Jahmic

mysqldump --opt --skip-extended-insertatau mysqldump --opt --extended-insert=FALSEbekerja
Yzmir Ramirez

OH TUHAN! Saya bermigrasi ke versi baru yang menyebabkan masalah ini dan banyak skrip otomatis gagal. Saya pikir saya kacau tapi ini sepertinya perbaikan yang mudah. Terima kasih telah berbagi!
Varun Verma

11
Ini bagus karena sekarang saya bisa melakukan git diffdua dump database yang berbeda dan memiliki gambaran yang jelas tentang apa yang diubah.
Rolf

9

Dalam versi yang lebih baru, perubahan dilakukan pada flag: dari dokumentasi:

--extended-insert, -e

Tulis pernyataan INSERT menggunakan sintaksis multi-baris yang mencakup beberapa daftar VALUES. Ini menghasilkan file dump yang lebih kecil dan mempercepat sisipan ketika file dimuat ulang.

--memilih

Opsi ini, diaktifkan secara default, adalah singkatan untuk kombinasi --add-drop-table --add-locks --create-options --disable-keys --extended-insert --lock-tables --quick - set-charset. Ini memberikan operasi dump cepat dan menghasilkan file dump yang dapat dimuat ulang ke server MySQL dengan cepat.

Karena opsi --opt diaktifkan secara default, Anda hanya menentukan yang sebaliknya, --skip-opt untuk mematikan beberapa pengaturan default. Lihat diskusi grup opsi mysqldump untuk informasi tentang mengaktifkan atau menonaktifkan subset pilihan yang dipengaruhi oleh --opt.

--skip-extended-insert

Matikan extended-insert

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.