首页 > 解决方案 > Kotlin Android Room 数据库删除查询问题

问题描述

我的代码需要一些帮助。我正在尝试通过 uid 从我的房间数据库中删除多个项目,但即使它处于循环中,它也只会删除它找到的第一个项目,仅此而已......

我的道的样本:

@Query("DELETE FROM itementity WHERE uid = :itemUid")
fun deleteByUid(itemUid: String)

我如何删除多个项目:

    GlobalScope.launch(Dispatchers.IO){
        itemsObject.forEach {
            db.itemDao().deleteByUid(it.uid)
        }
        
    }

标签: androiddatabasekotlinandroid-roomdao

解决方案


你可以尝试这样的事情:

@Query("DELETE FROM itementity WHERE uid IN (:uidList)")
fun deleteAllInList(uidList: Array<String>)

现在您可以通过itemsObject作为参数传递来删除它。

让我知道它是否有效,我就是这样做的,但LongArray没有Array<String>,所以我不确定它是否有效。


推荐阅读