我的表中有jsonb列,其中包含此数据。
{"key1": "value1", "key2": "value2"}
我需要做的事情是向这个json对象添加新的键值。我所做的是运行这两个脚本,但是它们都不起作用。
UPDATE table SET data = data || '{"key3": "value3"}' WHERE id ='1';
UPDATE table SET data = jsonb_set(data, '{key3}', '"value3"', true) WHERE id ='1';
当我运行第一个脚本时,它会显示此错误。 列“数据”的类型为jsonb,但表达式的类型为文本。然后我以这种方式打字。
UPDATE table SET data = data || '{"key3": "value3"}'::jsonb WHERE id ='1';
我需要了解以上两个更新脚本的问题。 我有postgres 9.5数据库。