2012-09-15 9 views
123

mit der folgenden Aussage:MySQLDump eine INSERT-Anweisung für jede Datenzeile

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

ich INSERT-Anweisungen wie folgt aus:

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

Was ich in meinem Fall brauchen so etwas wie das ist:

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

Gibt es eine Möglichkeit, "mysqldump" zu sagen, um eine neue INSERT-Anweisung für jede Zeile zu erstellen? Danke für Ihre Hilfe!

Antwort

201

Use:

mysqldump --extended-insert=FALSE 

Beachten Sie, dass mehrere Einsätze langsamer als ein großer Einsatz sein wird.

+55

--skip-extended-insert erscheint die richtige Syntax für mich (mit mysqldump Version 10.13) –

+9

Langsamer, aber viele Texteditoren haben Probleme mit sehr langen Textzeilen und wenn die Tabellen sehr groß sind Menge von Daten, das ist, was passieren wird. – Jahmic

+0

Brauchen Sie es auf mehreren Servern. Ein Repo auf einem Clientcomputer kann nicht immer synchronisiert werden. – cwallenpoole