【发布时间】:2010-05-10 20:05:01
【问题描述】:
我正在编写一个小脚本来同步 2 个 MySQL 表(t1 被“镜像”到 t2)
在一个步骤中,我想删除 t2 中已在 t1 中删除的具有相同 ID 的行。
我试过这个查询:
delete from t2 where t2.id in
( select t2.id left join t1 on (t1.id=t2.id) where t1.id is null )
但是 Mysql 禁止我在删除和选择中同时使用 t2(顺便说一句听起来合乎逻辑)
当然,我可以将查询拆分为 2 个查询:首先选择 ID,然后删除具有这些 ID 的行。
我的问题:您是否有更简洁的方法从 t2 中删除 t1 中不再存在的行?只有一个查询?
【问题讨论】:
标签: mysql sql-delete synchronize