在另一个表中不存在任何匹配项时,从SQLite表中删除行

在另一个表中不存在任何匹配项时,从SQLite表中删除行,第1张

概述我需要从一个SQLite表中删除其行ID不存在于另一个表中的行。 SELECT语句返回正确的行: SELECT * FROM cache LEFT JOIN main ON cache.id=main.id WHERE main.id IS NULL; 但是,delete语句从SQLIte生成错误: DELETE FROM cache LEFT JOIN main ON cache.id=main 我需要从一个sqlite表中删除其行ID不存在于另一个表中的行。 SELECT语句返回正确的行:
SELECT * FROM cache left JOIN main ON cache.ID=main.ID WHERE main.ID IS NulL;

但是,delete语句从sqlIte生成错误:

DELETE FROM cache left JOIN main ON cache.ID=main.ID WHERE main.ID IS NulL;

错误是:sqlite错误1 – 靠近“左”:语法错误。还有其他语法可以使用吗?

sqlite显然不支持与delete语句的连接,您可以在 Syntax diagrams上看到。但是您应该可以使用子查询来删除它们。

即。

DELETE FROM cache WHERE ID IN (SELECT cache.ID FROM cache left JOIN main ON cache.ID=main.ID WHERE main.ID IS NulL);

(未测试)

总结

以上是内存溢出为你收集整理的在另一个表中不存在任何匹配项时,从SQLite表中删除行全部内容,希望文章能够帮你解决在另一个表中不存在任何匹配项时,从SQLite表中删除行所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/1161910.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存