标签: mysql
我有两个表源和目标。是否可以在单个查询中执行以下操作?
如果源和目标中都存在该行,请更新目标;
如果行仅存在于源中,则将该行插入目标;
如果行存在于目标中但不存在于源中,则 从目标中删除行。
答案 0 :(得分:2)
您无法在一个查询中完成所有操作,但如果您使用的是事务存储引擎(如InnoDB),则可以在一个事务中完成所有操作。这可能是你想要的,
START TRANSACTION;
INSERT ...; 删除... UPDATE ...;
COMMIT;