2012-09-15 48 views
123

用下面的语句:mysqldump的一个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语句? 感谢您的帮助!

回答

201

Use:

mysqldump --extended-insert=FALSE 

注意,多个插件会比一个大插入慢。

+55

--skip-extended-insert看起来对我来说是正确的语法(使用mysqldump版本10.13) –

+9

更慢,是的,但是很多文本编辑器遇到很长的文本行,如果表格有巨大数据量,这是会发生什么。 – Jahmic

+0

需要在多台服务器上运行。不能总是在客户机上同步回购。 – cwallenpoole