使用 Rails 3.2。我想创建一个 rake 任务来检查两个不同的数据库是否存在同一行:
数据库abc
,表shops
,列partner_id
:
1
2
3
4
5
数据库xyz
,表shops
,列id
:
1
2
4
5
6
我想将 abc.shops.partner_id
与 xyz.shops.id
进行比较。在这种情况下,id 3
不存在,我想删除它。
目前我只是一一检查abc.shops.partner_id
,如果在xyz
中没有找到,那么我会删除它。有更好的办法吗?
谢谢。
最佳答案
由于它们位于同一服务器上,因此您可以加入表:
DELETE FROM abc.shops AS a
LEFT JOIN xyz.shops AS x ON a.partner_id = x.id
WHERE x.id IS NULL
关于mysql - 检查行是否存在于不同数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21462353/