gpt4 book ai didi

android - 如何使用单个查询更新所有行中的列 - Android Room Database

转载 作者:行者123 更新时间:2023-11-29 22:56:45 25 4
gpt4 key购买 nike

我正在尝试更新 Room 数据库 android 中与所有行关联的列。

我的条件是我有一个名为 isActive 的列,如果一行包含此列所有其他行的 true 值,则该列是 boolean 列应该有 false

这是我尝试过的,但它显然更新了一行

@Query("UPDATE ADDRESS SET isActive = (CASE WHEN isActive = 0 THEN 1 ELSE 0 END) WHERE addressId = :addressId")

只有我用主键指向的行得到更新我希望所有行都希望该行更新

即使该列已经为 true,也应将其更改为 false

我该如何解决?

最佳答案

我找到了解决问题的方法

这就是我尝试替换查询的内容

注意:我们不需要 2 个查询来实现此目的

回答:

@Query("UPDATE ADDRESS SET isActive = CASE addressId WHEN :addressId THEN 1 ELSE 0 END")

通过在 CASE 中包含 addressId 解决了我的问题。

希望这可能对某人有所帮助!

关于android - 如何使用单个查询更新所有行中的列 - Android Room Database,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57373163/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com