I know I can't use DELETE
in a query (that is a shame by the way), I will get the following error:
<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>
But I can't use @Delete(WHERE... xxx)
So how do I delete a specific row by a parameter?
Actually, you can use @Query
to perform a delete.
@Query("DELETE FROM users WHERE user_id = :userId")
abstract void deleteByUserId(long userId);
Extracted from 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.