MySQLDump为每个数据行一个INSERT语句

问题描述 投票:150回答:2

以下声明:

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
2个回答
243
投票

Use:

mysqldump --extended-insert=FALSE 

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


3
投票

在较新的版本中,对标志进行了更改:从文档中:

--extended-insert,-e

使用包含多个VALUES列表的多行语法编写INSERT语句。这会导致较小的转储文件,并在重新加载文件时加快插入速度。

- 选择

默认情况下启用此选项是--add-drop-table --add-locks --create-options --disable-keys --extended-insert --lock-tables --quick - 的组合的简写 - 设置字符集。它提供快速转储操作并生成转储文件,可以快速重新加载到MySQL服务器。

由于默认情况下启用了--opt选项,因此只指定其反转, - skip-opt将关闭多个默认设置。有关有选择地启用或禁用受-opt影响的选项子集的信息,请参阅mysqldump选项组的讨论。

--skip扩展嵌

关闭扩展插入

© www.soinside.com 2019 - 2024. All rights reserved.