【发布时间】:2014-08-27 14:49:35
【问题描述】:
如果我执行 SQL 转储,我只能获得一个选项来为查询选择插入、更新或替换。如果不存在,我可以让它插入,否则更新?
可能是一个简单的答案,但我不确定。
【问题讨论】:
-
您要构建什么样的数据库转储?必须将其应用于包含数据的数据库是不正常的。
-
replace选项对您有用吗? -
替换是插入和更新的组合吗?有些数据是新的。也许我的工作流程已经关闭,但我有一个数据库的开发站点和另一个数据库的实时站点。试图找到以最小干扰更新实时网站的最佳方式。
-
REPLACE 的行为如下:如果目标表中存在与 REPLACE 语句中的行数据匹配的行(基于 PK 或 UNIQUE KEY 值),则该行中的数据将被删除并替换为源(转储文件)行中的数据。如果没有这样的匹配,则将源行插入到目标表中。
-
太棒了。感谢您的澄清。我过去尝试过 REPLACE,但遇到了一些错误,所以不确定我是否用错了。