【问题标题】:MySQL import - Can I have INSERT OR UPDATE togetherMySQL 导入 - 我可以同时插入或更新吗
【发布时间】:2014-08-27 14:49:35
【问题描述】:

如果我执行 SQL 转储,我只能获得一个选项来为查询选择插入、更新或替换。如果不存在,我可以让它插入,否则更新?

可能是一个简单的答案,但我不确定。

【问题讨论】:

  • 您要构建什么样的数据库转储?必须将其应用于包含数据的数据库是不正常的。
  • replace 选项对您有用吗?
  • 替换是插入和更新的组合吗?有些数据是新的。也许我的工作流程已经关闭,但我有一个数据库的开发站点和另一个数据库的实时站点。试图找到以最小干扰更新实时网站的最佳方式。
  • REPLACE 的行为如下:如果目标表中存在与 REPLACE 语句中的行数据匹配的行(基于 PK 或 UNIQUE KEY 值),则该行中的数据将被删除并替换为源(转储文件)行中的数据。如果没有这样的匹配,则将源行插入到目标表中。
  • 太棒了。感谢您的澄清。我过去尝试过 REPLACE,但遇到了一些错误,所以不确定我是否用错了。

标签: mysql import export


【解决方案1】:

我相信REPLACE 会为您工作(replace mysqldump 选项),因为它的行为如下:如果目标表中存在与REPLACE 语句中的行数据匹配的行(基于@987654324 @ 或 UNIQUE KEY 值),该行中的数据将被删除并替换为源(转储文件)行中的数据。如果没有这样的匹配,则将源行插入到目标表中。

【讨论】:

    猜你喜欢
    • 2019-09-03
    • 2014-06-19
    • 2013-03-06
    • 2015-04-25
    • 1970-01-01
    • 1970-01-01
    • 2011-12-10
    • 1970-01-01
    • 2010-10-26
    相关资源
    最近更新 更多