我正在使用两个数据库:
两个表之间的关系是db1.tab1.model_id=db2.tab2.ID_ELEMENT
DELETE FROM db1.tab1
WHERE db1.tab1.model_id in (
SELECT db1.tab1.model_id
FROM db1.tab1
WHERE db1.tab1.model_id = db2.tab2.ID_ELEMENT in (
SELECT db2.tab2.ID_ELEMENT
FROM db2.tab2
WHERE db2.tab2.DELETED='1'
)
);
我不是很惊讶,因为我的第4行很糟糕,所以这不起作用,但问题是我知道我不能放
WHERE db1.tab1.model_id in (SELECT db2.tab2.ID_ELEMENT .....)`
我的意思是WHERE
子句应该与in SELECT
!
答案 0 :(得分:1)
你能试试这个查询吗? 通过查看您的查询,您似乎想要从tab1中删除所有记录,并在tab2中将其标记为已删除。
DELETE db1.tab1
FROM db1.tab1
JOIN db2.tab2 ON db1.tab1.model_id = db2.tab2.ID_ELEMENT
WHERE db2.tab2.DELETED='1';