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
So how do I delete a specific row by a parameter?
The beauty of room is, we play with the objects. As per requirement you can use
@Delete fun delete(model: LanguageModel)
@Delete void delete(LanguageModel model)
it will delete the exact object which is stored in the db with the same values. LanguageModel is my model class and it works perfectly.
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.