【发布时间】:2020-09-22 07:10:31
【问题描述】:
我想更新这个Recipe对象的recipeName
@Entity
data class Recipe(
@PrimaryKey
val recipeName: String,
val image: String?
)
所以我尝试进行自定义查询,但 android studio 抱怨我需要在 where 子句之前进行 Indexed、Not 或 Set
@Query("UPDATE Recipe WHERE recipeName = :oldName ")
suspend fun update(recipe: Recipe, oldName: String)
所以我尝试这样做,但问题是我不知道如何通过函数中的 recipe 对象参数访问 recipeName,所以我可以在查询中使用它。我什至不知道这是否可能。
@Query("UPDATE Recipe SET recipeName = :recipe.recipeName WHERE recipeName = :oldName ")
suspend fun update(recipe: Recipe, oldName: String)
只是为了澄清这不起作用,但这就是我想要实现的目标 -> recipe.recipeName
当然,我可以只传入新名称而不是整个配方对象,这样可以解决这个问题,但是我必须传入我的配方实体的每个变量,如果它也增长,这可能会失控所以如果我有选择的话,我宁愿不...
【问题讨论】:
标签: android sqlite android-sqlite android-room