Android Room 更新错误,没有这样的栏目

问题描述 投票:0回答:2

@Query("update IMNotifyBean set read = ${true}")

如果表 IMNotifyBean 为空,则会崩溃并显示错误“no such column: true (code 1 SQLITE_ERROR): ”,编译时: update IMNotifyBean set read = true ”。

如何修复它,例如使用“update IMNotifyBean if exits set read = ${true}”。

谁可以帮助我

我的解决方案: 1 条查询 2 判断是否为空,为空,返回

sql sqlite android-room
2个回答
1
投票

这是一个语法错误。将您的查询替换为:

@Query("update IMNotifyBean set read = 1")

在您的情况下,房间正在将

true
编译为列而不是值。


0
投票

您的解决方案听起来很合理。您可以在尝试更新之前检查表是否为空。如果为空则可以适当处理,如果不是则继续更新查询。

© www.soinside.com 2019 - 2024. All rights reserved.