【问题标题】:Room (AAC): [SQLITE_ERROR] SQL error or missing database (near "group": syntax error)Room (AAC):[SQLITE_ERROR] SQL 错误或缺少数据库(“组”附近:语法错误)
【发布时间】:2018-01-19 06:31:53
【问题描述】:

Following Dao 没有在我的 Android 应用中构建:

@Dao
interface GroupDao {

    @Insert
    fun insert(group: Group)

    @Query("SELECT * FROM group")
    fun loadAll(): LiveData<List<Group>>
}

当我在 Android Studio 3 中构建项目时,我在 gradle 构建步骤中收到以下错误:

:app:kaptDebugKotlin

e: C:\workspaces\SystemicConsensusKotlin\app\build\tmp\kapt3\stubs\debug\de\maxdobler\systemicconsensus\group\GroupDao.java:13: 错误:查询有问题:[SQLITE_ERROR] SQL错误或 缺少数据库(“组”附近:语法错误)

e:公共摘要 android.arch.lifecycle.LiveData> 加载所有();

如果我删除 loadAll 函数,一切都会像魅力一样工作...... 这个函数有什么问题?

【问题讨论】:

    标签: android kotlin android-room


    【解决方案1】:

    GROUP 是 reserved keyword in SQLite。你不能命名一个表(或其他任何东西)GROUP。使用@Entity 注释上的tableName 属性将表重命名为其他名称,然后在@Query 中使用该表名。

    【讨论】:

      猜你喜欢
      • 2017-02-11
      • 2021-07-31
      • 1970-01-01
      • 2016-08-14
      • 2013-06-01
      • 1970-01-01
      • 2021-04-28
      • 2018-04-10
      • 1970-01-01
      相关资源
      最近更新 更多