со следующим утверждением:
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 для каждой строки? Спасибо за вашу помощь!
mysqldump --opt --skip-extended-insert
илиmysqldump --opt --extended-insert=FALSE
работаgit diff
на двух разных дампах базы данных и иметь четкое представление о том, что было изменено.В более новых версиях были внесены изменения в флаги: из документации:
Напишите операторы INSERT, используя многострочный синтаксис, включающий несколько списков VALUES. Это приводит к уменьшению размера файла дампа и ускоряет вставку при перезагрузке файла.
Эта опция, включенная по умолчанию, является сокращением для комбинации --add-drop-table --add-locks --create-options --disable-keys --extended-insert --lock-tables --quick - набор-кодировки. Это дает быструю операцию дампа и производит файл дампа, который может быть быстро перезагружен на сервер MySQL.
Поскольку опция --opt включена по умолчанию, вы указываете только обратное, а --skip-opt отключает несколько настроек по умолчанию. См. Обсуждение групп опций mysqldump для информации о выборочном включении или отключении подмножества опций, на которые влияет --opt.
Отключить расширенную вставку
источник