java - Android Room @Delete 带参数

标签 java android sql android-room

我知道我不能在查询中使用 DELETE(顺便说一句,这很遗憾),我会收到以下错误:

<i>Error:error: Observable query return type (LiveData, Flowable etc) can only be used with SELECT queries that directly or indirectly (via @Relation, for example) access at least one table.</i>

但我不能使用 @Delete(WHERE... xxx) 那么如何通过参数删除特定行呢?

最佳答案

其实你可以使用@Query来进行删除。

@Query("DELETE FROM users WHERE user_id = :userId")
abstract void deleteByUserId(long userId);

摘自 Query javadoc :

UPDATE or DELETE queries can return void or int. If it is an int, the value is the number of rows affected by this query.

关于java - Android Room @Delete 带参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47538857/

相关文章:

java - 在 android while 循环中使用 URL get 发送数据

android - 如何强制 Android 应用程序使用 32 位或 64 位库

mysql - 我需要获取数据库 java 中的第一个日志

mysql - 条件排序依据在两个字段上具有两种不同的排序

sql - 为什么关系在 SQL 实现中很重要?

java - Akka FSM : How to write test case to verify state change?

java - 如何使用路径通过 maven-surefire-plugin 包含集成测试

java - jackson 真的无法将 json 反序列化为泛型类型吗?

Android Studio 不自动生成代码

android - Samsung Galaxy Tab 2 10.1 在按相机 Intent 拍照后终止进程