Android 房间通过查询插入

Vij*_*dra 5 sqlite android android-sqlite android-room

我知道可以通过@Insert注释将数据插入 SQlite 房间库,但我(出于好奇)尝试通过 SQL 语句插入值,但 Android studio 显示错误,指出列名无法解析。这是强迫开发人员使用@Insert注释的一种方式还是我在这里做错了什么?谢谢!

请查看以下屏幕截图 - 在此输入图像描述

Mik*_*keT 3

如果您省略突出显示的列列表,从而为所有列提供值,例如:-

@Query("INSERT INTO TestTable VALUES(null,:a,:b)")
List<TestTable> getall(String a, String b, String columna, String columnb);
Run Code Online (Sandbox Code Playgroud)

Android Studio 不会抱怨,但随后您会收到以下编译器错误:-

error: INSERT query type is not supported yet. You can use:SELECT, DELETE, UPDATE
Run Code Online (Sandbox Code Playgroud)

所以也许早点比晚点好。