android - 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)
}
}
解决方案
你可以尝试这样的事情:
@Query("DELETE FROM itementity WHERE uid IN (:uidList)")
fun deleteAllInList(uidList: Array<String>)
现在您可以通过itemsObject
作为参数传递来删除它。
让我知道它是否有效,我就是这样做的,但LongArray
没有Array<String>
,所以我不确定它是否有效。
推荐阅读
- java - spring-integration-mqtt 将消息从 Input Topic1 路由到 Output Topic2
- python-3.x - 如何处理 Django-Channels 消费者的竞争条件?
- python - urls.py 中可用的 URL 在 Django 2 中仍然得到 404
- android - Firebase 不会在第一次加载数据
- typescript - react-navigation v5 中的 Typescript StackNavigatonProps 和 Screen 道具
- c# - 在 C# 中规定的时间后停止行执行
- typescript - 从命令行运行 NestJS 脚本
- spring-boot - REST API 过滤器,其字段的值是根据其他字段动态计算的
- powershell - 具有 OU 的 AD 非活动用户
- php - 如何检查派生类中的函数是否被覆盖?