使用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/