Я хотел бы обновить несколько строк в базе данных комнаты.Но у меня нет объектов - у меня есть только идентификаторы.
Если я обновляю одну строку, я записываю что-то вроде этого в свой 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)
, где я пишу что-то вроде '(1,4,7,15)' для моей id-String
Может кто-нибудь сказать мне хороший способ сделать такое обновление
, потому что что-то вроде
val ids = ListOf(1,4,7,15)
ids.forEach{
itemDao.updateItemPlace(it,'new place')
}
не кажется хорошим решением