在SQLite中,如何删除一个表中与另一个表中的索引相对应的行
我有两个表A和B。A包含全部数据。B仅包含应删除的索引。如何删除A中与B中具有相同索引的相应数据 比如说,, A是一个类似于: B是一个类似于: 我应该删除A中的行以及B中的所有(x,y)对 做一个像这样的例子: 在MySQL中(正如问题最初标记的那样),您可以使用在SQLite中,如何删除一个表中与另一个表中的索引相对应的行,sqlite,Sqlite,我有两个表A和B。A包含全部数据。B仅包含应删除的索引。如何删除A中与B中具有相同索引的相应数据 比如说,, A是一个类似于: B是一个类似于: 我应该删除A中的行以及B中的所有(x,y)对 做一个像这样的例子: 在MySQL中(正如问题最初标记的那样),您可以使用join: delete a from a join b using (x, y); 在SQLite或几乎任何其他数据库中,您可以使用: delete from a
join
:
delete a
from a join
b
using (x, y);
在SQLite或几乎任何其他数据库中,您可以使用:
delete
from a
where exists (select 1 from b where b.x = a.x and b.y = a.y)
谢谢大家。我已经找到了一个解决方案,在这个问题上,下面的一些方法对我有效
DELETE FROM a
WHERE EXISTS (SELECT *
FROM b
WHERE b.x = a.x and b.y = a.y)
请根据下面的评论中提到的错误发布您尝试过的内容,我更改了“a”附近的数据库标记。(sqlite3.OperationalError):语法错误一些类似的错误MySQL中的语法很好:。你的错误是一个SQLite错误,所以你把你的问题打错了标签。哦,我明白了。谢谢。你知道如何在SQLite中做到这一点吗?这是Gordon的答案。你为什么把它贴成你的?也许我没有刷新页面。不管怎样,我是在别的地方找到的。这有关系吗?这是我的问题,我刚刚发布了最终帮助我解决这个问题的答案。阅读:这样你就知道这里的事情是如何运作的。好的。这是我第一次使用堆栈溢出。我不知道这些规则。