我需要在PostgreSQL中更新一个jsonb对象,但无法确定更新相同对象的正确语法,下面是相同的用例。
表中数据
Create table jsondata (id int, data jsonb);
INSERT INTO jsondata VALUES
(1,'[{"cc": null, "subsectionid": 26}, {"cc": null, "subsectionid": 27}]');
SELECT * from jsondata;
用例:
想要更新subsectionid =27的cc的值
查询尝试次数:
UPDATE jsondata
SET data = data || '{null: ["Lake Providence"]}'::jsonb
WHERE data->>'subsectionid' = '27'
请帮助我实现这一点。
1条答案
按热度按时间ffx8fchx1#
我希望有人沿着一个更简单的答案,但这显示了我将如何分解jsonb,然后为更新重新构建它:
Fiddle