【发布时间】:2018-12-05 11:06:07
【问题描述】:
我想更新房间数据库中的多行。但我没有对象 - 我只有 ID。
如果我更新一行,我会在我的 DAO 中写下这样的内容:
@Query("UPDATE items SET place = :new_place WHERE id = :id;")
fun updateItemPlace(id:Int, new_place:String)
如果有多行,我需要这样的东西:
@Query("UPDATE items SET place = :new_place WHERE id = :ids;")
fun updateItemPlaces(ids:List<Int>, new_place:String)
或
@Query("UPDATE items SET place = :new_place WHERE id IN :ids;")
fun updateItemPlaces(ids:String, new_place:String)
我在我的 ids-String 中写了类似 '(1,4,7,15)' 的东西
谁能告诉我进行此类更新的好方法
因为类似
val ids = ListOf(1,4,7,15)
ids.forEach{
itemDao.updateItemPlace(it,'new place')
}
似乎不是一个好的解决方案
【问题讨论】:
标签: android kotlin sql-update android-room