如何在PostgreSQL中使用JSON填充记录进行更新?

4
在PostgreSQL中,我如何在更新查询中使用JSON_POPULATE_RECORD?
1个回答

7
我们可以使用带有JSON_POPULATE_RECORD的UPDATE查询。以下是一个示例,用于名称为test的样本表,具有三个字符变量数据类型的列a、b、c的数据。
update test set("a","b","c")=((select a,b,c from json_populate_record(NULL::test,'{"a":"first column","b":"second column","c":"third column"}')))

您可以在此查询中使用UPSERT。
insert into test select * from json_populate_record(NULL::test, '{"a":"first column","b":"column","c":"column"}') ON CONFLICT ON CONSTRAINT a_PKey DO UPDATE SET("a","b","c")=((select a,b,c from json_populate_record(NULL::test,'{"a":"first column","b":"second column","c":"third column"}'))) ;

以上查询将插入数据,如果存在主键冲突或约束冲突,则记录将被更新。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接