我的目的是使用jsonb
更新一个jsonb_set
列,该列当前为空,并且一个对象具有多个键值对。 update命令执行成功,但未更新任何内容,该列仍为空。我正在尝试以下查询。
UPDATE tab
set value = jsonb_set(value, '{}', '{"a" : 100, "b" : [100, 200]}'::jsonb)
where id = 100;
任何解决方案吗?
答案 0 :(得分:1)
据我了解,在这种情况下,您似乎不需要jsonb_set
。只需将字符串转换为jsonb
进行更新
UPDATE tab
set value = '{"a" : 100, "b" : [100, 200]}'::jsonb
where id = 100
--and value is null; --additional check if you need.