Answers:
有一些选项可以帮助您:
--insert-ignore Insert rows with INSERT IGNORE.
--replace Use REPLACE INTO instead of INSERT INTO.
-t, --no-create-info
Don't write table creation info.
记住这种范例
--replace
等同于ON DUPLICATE UPDATE
在每一列上执行。不幸的是,由于mysqldump具有批量加载和转储特性,因此mysqldump不能设计为更新特定的列。我的答案只是揭示了mysqldump的功能。除了mysqldump之外,您还必须编写自定义代码来执行ON DUPLICATE UPDATE
。
REPLACE INTO
可能会失败,因为无法通过切断这些关系来删除该记录。如果您有ON DELETE CASCADE
,那么您将清空那些依赖于要更新的表的表。REPLACE INTO
是相当危险的操作。
REPLACE INTO
)可能很危险,并且会产生“令人惊讶的”效果。好的答案-只是想添加一个警告。