JGu*_*Guo 6 android kotlin android-room
在我的存储库类中,仅当Room表中不存在数据时,我才想获取数据。如何检查表中是否存在任何行?
Tar*_*der 64
使用 EXISTS ,并返回真假
如果您想检查某些特定行和某些条件,请执行此技巧
@Query("SELECT EXISTS(SELECT * FROM tableName WHERE id = :id)")
fun isRowIsExist(id : Int) : Boolean
Run Code Online (Sandbox Code Playgroud)
或者简单地使用这个
@Query("SELECT EXISTS(SELECT * FROM tableName)")
fun isExists(): Boolean
Run Code Online (Sandbox Code Playgroud)
您可以使用EXISTS运算符并返回Boolean:
@Query("SELECT EXISTS(SELECT * FROM table)")
fun hasItem(): Boolean
Run Code Online (Sandbox Code Playgroud)
正如ADM所建议的那样,使用COUNT()计数表中的实际行可能会很幸运。
但是,我还是建议无论如何都要获取数据-如果不存在,Room会简单地返回一个空列表,并且它的效率不应该比要求行数低(如果有的0话)。
另外,您将只需编写更少的代码即可获得所需的功能!:-)
| 归档时间: |
|
| 查看次数: |
5880 次 |
| 最近记录: |