mit folgender Aussage:
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 erhalte INSERT-Anweisungen wie folgt:
INSERT INTO `table` VALUES (1,'something'),(2,'anything'),(3,'everything');
Was ich in meinem Fall brauche, ist ungefähr so:
INSERT INTO `table` VALUES (1,'something');
INSERT INTO `table` VALUES (2,'anything');
INSERT INTO `table` VALUES (3,'everything');
Gibt es eine Möglichkeit, "mysqldump" anzuweisen, für jede Zeile eine neue INSERT-Anweisung zu erstellen? Danke für Ihre Hilfe!
mysqldump --opt --skip-extended-insert
odermysqldump --opt --extended-insert=FALSE
arbeitengit diff
zwei verschiedene Datenbank-Dumps erstellen und habe ein klares Bild davon, was geändert wurde.In neueren Versionen wurden Änderungen an den Flags vorgenommen: Aus der Dokumentation:
Schreiben Sie INSERT-Anweisungen mit mehrzeiliger Syntax, die mehrere VALUES-Listen enthält. Dies führt zu einer kleineren Speicherauszugsdatei und beschleunigt das Einfügen, wenn die Datei erneut geladen wird.
Diese standardmäßig aktivierte Option ist eine Abkürzung für die Kombination von --add-drop-table --add-locks --create-options --disable-keys --extended-insert --lock-tables --quick - set-charset. Es bietet eine schnelle Dump-Operation und erzeugt eine Dump-Datei, die schnell auf einen MySQL-Server neu geladen werden kann.
Da die Option --opt standardmäßig aktiviert ist, geben Sie nur die Umkehrung an, die Option --skip-opt, um mehrere Standardeinstellungen zu deaktivieren. Informationen zum selektiven Aktivieren oder Deaktivieren einer Teilmenge der von --opt betroffenen Optionen finden Sie in der Diskussion der mysqldump-Optionsgruppen.
Extended-Insert ausschalten
quelle