作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
@Query("update bookmarks set bookmarks_path= replace(bookmarks_path,:oldPath,:newPath) where bookmarks_path like :oldPath || '%'")
fun updateBookmarksPath(oldPath: String, newPath: String): Completable
我正在使用房间数据库,这是我的代码
运行时发现这段代码的格式不正确,android studio提示我:explosionexpected,got'replace'
像这样
我想要达到这样的效果
----路径------------------路径
/root/1/1--------------/stack/1/1
/root/name/1------/stack/name/1
/root/cls/1------------/stack/cls/1
/root/go/1------------/stack/go/1
/root/js/1------------/stack/js/1
请
最佳答案
REPLACE
都是 SQLite keyword并且,根据您的预期用途,字符串函数的名称:replace() 。Room 注释处理器似乎拒绝您的查询字符串,因为它将 replace
视为关键字而不是函数名称。也许是一个错误?
一些快速实验表明,一个可能的解决方案是用反引号将 replace
括起来,以将 is 标记为名称(请参阅上面的关键字链接)。请尝试一下:
@Query("update bookmarks set bookmarks_path= `replace`(bookmarks_path,:oldPath,:newPath) where bookmarks_path like :oldPath || '%'")
fun updateBookmarksPath(oldPath: String, newPath: String): Completable
关于android - 如何在android room数据库sql中使用replace?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62468205/
我是一名优秀的程序员,十分优秀!