简体   繁体   English

Kotlin Android Room 数据库删除查询问题

[英]Kotlin Android Room Database Delete Query Problem

I need some help with my code.我的代码需要一些帮助。 I'm trying to delete multiple items by uid from my room database, but even if it's in a loop, it deletes only the first item it finds and that's all...我正在尝试通过 uid 从我的房间数据库中删除多个项目,但即使它处于循环中,它也只会删除它找到的第一个项目,仅此而已......

The sample from my Dao:来自我的 Dao 的示例:

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

How I delete multiple items:我如何删除多个项目:

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

You can try something like this:你可以尝试这样的事情:

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

And now You can delete it just by passing itemsObject as an argument.现在您可以通过将itemsObject作为参数传递来删除它。

Let me know if it is working, I was doing like that but with LongArray not Array<String> so I am not sure if it works.让我知道它是否有效,我是这样做的,但是LongArray不是Array<String>所以我不确定它是否有效。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM