当我尝试如下更新时,我收到了invalid input syntax for type json. Expected "," or "}"
。
记录的问题内容为{'open': ','}
。
如果记录的内容为{'open': ',abc'}
,我可以像{'open': 'abc'}
一样正确更新。
update hoge SET extra =
REPLACE(
extra::TEXT,
extra->>'open',
regexp_replace(extra->>'open', '^,', '')
)::JSONB
有什么想法吗?
答案 0 :(得分:1)
使用JSONB_SET
更新和过滤where
子句中要更新的记录
update hoge set extra = jsonb_set(extra, '{open}' ,'"abc"')
where extra->>'open' = ',abc';