【发布时间】:2021-12-31 21:36:56
【问题描述】:
在我的 Java 项目中,我使用的是 JOOQ,我想更新 JSONB 值。 但是我的构建失败了。
我写了一个代码:
DSL.using(connection).update(USER_SETTINGS)
.set(USER_SETTINGS.SETTING_VALUE, field("{\"filtersValue\":{\"page\":0,\"size\":100}, \"visibleCount\":100}", JSONB.class))
.where(USER_SETTINGS.USER_ID.eq(98383L))
.execute();
我收到了下一条消息:
org.jooq.exception.DataAccessException:
SQL [update "sbcm_sys"."user_settings" set "setting_value" = "filtersValue":{"page":0,"size":100, "visibleCount":100} where "sbcm_sys"."user_settings"."user_id" = ?]; ERROR: syntax err
or at or near ":"
Position: 71
Caused by: org.postgresql.util.PSQLException:
ERROR: syntax error at or near ":"
Position: 71
我哪里做错了?
【问题讨论】:
-
我将 field() 更改为 val() 并且成功了!
标签: java postgresql sql-update jooq jsonb