【问题标题】:How to in Room Database delete two tables in one query?如何在房间数据库中一次查询中删除两个表?
【发布时间】:2019-04-02 11:18:54
【问题描述】:

如何在一个 Query 中删除 Room 中的两个表?我试过这个,但它不起作用。 Room 不允许使用这样的查询。

@Query("DELETE (DELETE FROM expense_table) AND (DELETE FROM income_table)")
void deleteAllData();

【问题讨论】:

    标签: android android-room


    【解决方案1】:

    你可以使用事务 https://developer.android.com/reference/androidx/room/Transaction

    @Transaction
     public void deleteTwo(TableEx table, TableIn table_in) {
         // Anything inside this method runs in a single transaction.
         delete(table);
         delete(table_in);
     }
    

    【讨论】:

    • 感谢您的帮助,但我使用了两个查询。每一张桌子。我认为@Transaction 非常适合对象。谢谢你所做的一切。
    • 如果其中一个查询失败怎么办。你处理了吗?
    • 即使一个表是空的应用程序也不会崩溃。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多