mysql - 检查行是否存在于不同数据库中

标签 mysql ruby-on-rails

使用 Rails 3.2。我想创建一个 rake 任务来检查两个不同的数据库是否存在同一行:

数据库abc,表shops,列partner_id:

1
2
3
4
5

数据库xyz,表shops,列id:

1
2
4
5
6

我想将 abc.shops.partner_idxyz.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/

相关文章:

mysql - 如何在 MySQL Workbench 中撤消 "filter to this schema"?

mysql - having/where 子句中的未知列

php - MySQL 中的多个动态查询

php - MySQL 到 JSON,如何获得正确的格式?

ruby-on-rails - stripe中如何处理支付成功?

php - 需要有关 mysql 查询的帮助

sql - 会计系统设计和数据库

ruby-on-rails - RoR AR 用户模型

ruby-on-rails - Rails:Mailchimp首选的 gem 是哪一个?

ruby-on-rails - 我的编辑和新操作是否应该重复使用相同的 View ? (编辑帖子)