2017-06-06 44 views

回答

0

如果连击2 jsonb值,你实现你想要什么,例如:

select '{"a": 1, "b": 2}'::jsonb || '{"b": 10, "c": 20}'::jsonb 

生产:"{"a": 1, "b": 10, "c": 20}"

如果两个操作数都是有一个共同的键字段名称的对象,价值结果中的字段将只是右手操作数的值。

https://www.postgresql.org/docs/current/static/functions-json.html

+0

感谢做到这一点!我将如何去插入新的jsonb对象,使旧的和新的连接在一起? – user7807740

+0

如果你需要更新现有的jsonb值,那么你可以这样做:'uptade table_name set col = col || '{“b”:10,“c”:20}':: jsonb其中id =?' –

1

如果你想要一个 “更新插入”,你可以用insert ... on conflict...

insert into the_table (id, json_column) 
values (1, '{"b": 10, "c": 20}'::jsonb) 
on conflict (id) do update 
    set json_column = json_column || excluded.json_column; 
相关问题