在Room数据库中创建带有@Query的表失败。

问题描述 投票:0回答:1

我的@道接口是。

@Dao
public interface TaskDao {
    @Insert
    void insert(Task task);

    @Update
    void update(Task task);

    @Delete
    void delete(Task task);

    @Query("DELETE FROM task_table")
    void deleteAllTasks();

    @Query("SELECT * FROM task_table")
    LiveData<List<Task>> getAllMainTasks();
}

用这个查询,一切都很正常,如愿以偿。下面是表格截图。enter image description here

把最后两行改成下面几行就有问题了。

    @Query("SELECT * FROM task_table WHERE creator_ID = NULL ORDER BY task_ID ASC")
    LiveData<List<Task>> getAllMainTasks();

但是当我使用这个查询的时候,这个表里没有任何条目被创建!

android database android-studio android-sqlite android-room
1个回答
0
投票

尝试替换你的null条件。

@Query("SELECT * FROM task_table WHERE creator_ID = NULL ORDER BY task_ID ASC")

替换成

@Query("SELECT * FROM task_table WHERE creator_ID is NULL ORDER BY task_ID ASC")
© www.soinside.com 2019 - 2024. All rights reserved.