Android Room 更新错误没有这样的列

Android Room update error by no such column

提问人:LloydFinch 提问时间:11/9/2023 更新时间:11/9/2023 访问量:35

问:

@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

评论


答:

3赞 Mrinal Paul 11/9/2023 #1

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

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

在您的例子中,房间被编译为列而不是值。true

0赞 Lenroy Yeung 11/9/2023 #2

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