簡體   English   中英

房間 SQLITE 使用 JOINS 從多個表中刪除查詢

[英]Room SQLITE Delete query from multiple tables using JOINS

嘿伙計們,我正在將我的表和查詢從 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 內部聯合查詢嗎? 如果可以的話,請給我一個簡單的例子來說明如何編寫這個,因為語法與我習慣的不同

通過進一步研究,我得出結論,sqlite 不允許同時從多個表中刪除查詢。

為了解決這個問題,我簡單地設置了三個單獨的刪除查詢來定位我想要從中刪除數據的每個表。 當用戶單擊刪除按鈕時,DAO 中的所有 3 個刪除查詢都在 AsyncTask 中執行。 我對此進行了徹底的測試,並且效果很好。

我希望這個答案將來會對其他人有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM