我有一个与Room相关的问题,在其他地方找不到帮助。在使用SQLite中的“LIKE”时,通常的“%”不能与我们团队项目中使用的Room删除查询一起工作。
我们在Kotlin中定义了一个字符串形式的删除查询,在DAO中使用:
const val DELETE_BY_RESERVATION_CODE = "DELETE FROM ${TdaRoomDatabase.TABLE_REQUESTS} WHERE uri LIKE :reservationCode"
同一DAO中的deleteRequest:
@Query(DELETE_BY_RESERVATION_CODE)
fun deleteRequest(reservationCode: String)
然而,在 ':reservationCode' 参数引用周围添加百分号符号后,我们会得到以下错误:
是否有人知道在使用 Room DB 查询时如何使用百分号符号? 我和我的团队(不熟悉 SQL)预期它会像 SQLite 一样运作,但事实并非如此!输入中没有可行的替代项 'DELETE FROM requests WHERE uri LIKE %'
"%" + input + "%"
这样的方式来包围输入查询是相当丑陋的。 - Bryen