使用单个查询在mysql中插入update delete

时间:2013-06-04 06:38:05

标签: mysql

我有两个表源和目标。是否可以在单个查询中执行以下操作?

  • 如果源和目标中都存在该行,请更新目标;

  • 如果行仅存在于源中,则将该行插入目标;

  • 如果行存在于目标中但不存在于源中,则 从目标中删除行。

1 个答案:

答案 0 :(得分:2)

您无法在一个查询中完成所有操作,但如果您使用的是事务存储引擎(如InnoDB),则可以在一个事务中完成所有操作。这可能是你想要的,

START TRANSACTION;

INSERT ...; 删除... UPDATE ...;

COMMIT;