【问题标题】:Get the list of EXISTS flags, by the list of IDs通过 ID 列表获取 EXISTS 标志的列表
【发布时间】:2021-10-10 05:46:45
【问题描述】:

通过使用 Room 的数据库中的 ID 列表获取 EXISTS 标志列表。

我需要得到一个相同大小的列表,其中如果元素不在数据库中,则存储false,如果存在,则为true

@Query("SELECT EXISTS (SELECT * FROM FavoriteCharacter WHERE id IN (:ids))")
fun existsRx(ids: List<Int>): List<Boolean>

我试图这样做,但是,我得到了一个元素的列表。

【问题讨论】:

    标签: android sql sqlite kotlin android-room


    【解决方案1】:

    你想要的 SQLite 查询可能是这样的:

    SELECT id, id IN (:ids) AS id_has
    FROM FavoriteCharacter
    

    这将返回表中的每个id,以及一个布尔值,以判断该id值是否也包含在整数输入列表中。

    我不是 Room 专家,所以我不知道您的方法签名需要如何更改。

    【讨论】:

    • 谢谢,但是我需要得到一个相同大小的列表,其中如果元素不在数据库中,则存储false,如果存在,则为true
    • @AntonTikhonov 那么:ids 值确实属于某个表中的某个位置。我建议在这种情况下解决您的设计问题。
    猜你喜欢
    • 1970-01-01
    • 2021-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-28
    • 2021-02-11
    相关资源
    最近更新 更多