私はクエリで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)
を使用できないので、パラメーターによって特定の行を削除するにはどうすればよいですか?
部屋の美しさは、オブジェクトで遊ぶことです。要件に従って、kotlinに使用できます:
@Delete
fun delete(model: LanguageModel)
javaの場合:
@Delete
void delete(LanguageModel model)
同じ値でdbに保存されている正確なオブジェクトを削除します。 LanguageModelは私のモデルクラスであり、完全に機能します。
実際、@Query
を使用して削除を実行できます。
@Query("DELETE FROM users WHERE user_id = :userId")
abstract void deleteByUserId(long userId);
Query javadoc から抽出:
UPDATEまたはDELETEクエリは、voidまたはintを返すことができます。 intの場合、値はこのクエリの影響を受ける行の数です。