从另一个数据库中选择删除数据 [英] Deleting data with select from another database

查看:37
本文介绍了从另一个数据库中选择删除数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想从一个数据库中删除数据并从另一个数据库中选择.

I want to delete data from one database with select from another one.

delete FROM organization o 
WHERE o.id IN 
(select 100 + s.id_status FROM database2.status s) 

对于这个,我如何从第二个数据库中的选择中删除这些字段?这很可能是我的疏忽,但我无法查明确切的问题,因为当我用 select * from 替换 delete from 时它起作用...

For this one, how can I delete those fields from that select from 2nd database? It's most likely an oversight on my end but I can't pinpoint the exact problem since it works when I replace delete from with select * from...

推荐答案

是否要从两个表中删除?如果是这样使用JOIN形式和多表删除

Do you want to delete from both tables? If so use JOIN form and multiple-table delete

DELETE t1.*, t2.*
FROM organization t1
JOIN database2.status t2 ON t1.id = t2.id_status  + 100

DELETE t1.*, t2.*
FROM organization t1
JOIN database2.status t2 ON t1.id - 100 = t2.id_status

如果 organization 表很小,则首选第二个变体.当然database2.status(id_status)的索引必须存在才能改进.

If organization table is small then 2nd variant is preferred. Of course the index by database2.status (id_status) must exist for improvement.

不,我只想从组织中删除数据,因为状态必须保持不变,因为它用于将数据导入其他表

No, I just want to delete data from organization since status has to remain intact because it is used for importing data into other tables

如果是这样,只需使用 DELETE t1.* 而不是 DELETE t1.*, t2.*.

If so simply use DELETE t1.* instead of DELETE t1.*, t2.*.

这篇关于从另一个数据库中选择删除数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆