gpt4 book ai didi

android - Room SQLITE 使用 JOINS 从多个表中删除查询

转载 作者:行者123 更新时间:2023-12-05 00:11:06 28 4
gpt4 key购买 nike

大家好,我正在将我的表和查询从 mysql 移动到 andorid 应用程序内的内部 SQLITE 数据库。

当我将我的删除查询复制到我的 DAO 时,它抛出了一个错误:

DELETE moodBeforeTable, moodAfterTable
FROM moodBeforeTable
JOIN moodAfterTable
ON moodAfterTable.cbtId = moodBeforeTable.cbtId
WHERE moodBeforeTable.cbtId =: cbtId";

第一个单词 moodBeforeTable 带有红色下划线,IDE 表示它期待 FROM。它似乎不喜欢 mysql 语法。我不确定如何重写此查询。我还从另一个表中进行了第二次删除。是否可以通过一个方法调用执行所有这些删除操作?

基本上,当用户点击删除按钮时,它需要从三个单独的表中一键删除记录。我们可以在 DAO 中一起进行 UNION 查询吗?如果可以的话,有人可以给我一个简单的例子来说明如何写这个,因为语法与我习惯的不同

最佳答案

通过进一步研究,我得出结论,sqlite 不允许同时从多个表中删除查询。

为了解决这个问题,我简单地设置了三个单独的删除查询来定位我想从中删除数据的每个表。当用户单击删除按钮时,DAO 中的所有 3 个删除查询都在 AsyncTask 中执行。我对此进行了全面测试,它运行良好。

我希望这个答案对以后的其他人有所帮助。

关于android - Room SQLITE 使用 JOINS 从多个表中删除查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60197440/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com