PostgreSQL通过条件子键更新jsonb数组之一

时间:2015-02-09 09:33:11

标签: arrays postgresql jsonb

在PostgreSQL中,我的列类型是json,数据是json数组,如:

[{"attsId": "42a2ce04-52ab-4a3c-8dfb-98c3d14b307d", "planId": 46, "filePath": "fileOperate\\upload", "cfileName": "潜在客户名单 (1).xls", "ufileName": "42a2ce04-52ab-4a3c-8dfb-98c3d14b307d.xls"}, {"attsId": "1adb2f13-00b0-4780-ae76-7a068dc3289c", "planId": 46, "filePath": "fileOperate\\upload", "cfileName": "潜在客户名单.xls", "ufileName": "1adb2f13-00b0-4780-ae76-7a068dc3289c.xls"}, {"attsid": "452f6c62-28df-47c7-8c30-038339f7b223", "planid": 48.0, "filepath": "fileoperate\\upload", "cfilename": "技术市场印花税.xls", "ufilename": "452f6c62-28df-47c7-8c30-038339f7b223.xls"}]

我希望按元素键更新一个数组数据,如:

UPDATE plan_base 
    set atts->.. = {"planId":47,"name":"qm"} 
where atts->"planId"= 46 and id=2;

并且有人有更好的方式来做这件事

0 个答案:

没有答案