房间 (AAC):[SQLITE_ERROR] SQL 错误或缺少数据库("group" 附近:语法错误)
Room (AAC): [SQLITE_ERROR] SQL error or missing database (near "group": syntax error)
我的 Android 应用中没有构建 Following Dao:
@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:
error: There is a problem with the query: [SQLITE_ERROR] SQL error or
missing database (near "group": syntax error)
e: public abstract
android.arch.lifecycle.LiveData>
loadAll();
如果我删除 loadAll 函数,一切都会正常运行...
这个函数有什么问题?
GROUP
是一个 reserved keyword in SQLite。您不能命名 table(或任何其他名称)GROUP
。使用 @Entity
注释上的 tableName
属性 将 table 重命名为其他名称,然后在 @Query
中使用该 table 名称。
我的 Android 应用中没有构建 Following Dao:
@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: error: There is a problem with the query: [SQLITE_ERROR] SQL error or missing database (near "group": syntax error)
e: public abstract android.arch.lifecycle.LiveData> loadAll();
如果我删除 loadAll 函数,一切都会正常运行... 这个函数有什么问题?
GROUP
是一个 reserved keyword in SQLite。您不能命名 table(或任何其他名称)GROUP
。使用 @Entity
注释上的 tableName
属性 将 table 重命名为其他名称,然后在 @Query
中使用该 table 名称。