简体   繁体   English

PostgreSQL JSON 来自另一列的数组值

[英]PostgreSQL JSON array value from another column

I have employee table in postgreSQL我在 postgreSQL 中有employee

CREATE TABLE Employee(EmployeeID integer PRIMARY KEY AUTO_INCREMENT,
Employeename VARCHAR(100));

alter table Employee add column parents JSON;

Now, I want to update JSON column with JSON array with a value from the existing column like below.现在,我想用 JSON 数组更新 JSON 列,并使用现有列中的值,如下所示。

update employee set parents = json_array_elements('[{"name":Employeename, "id":EmployeeID }]')

Any way I can achieve this?我有什么办法可以做到这一点?

Try using:尝试使用:

  • JSON_BUILD_OBJECT function, to generate your json element JSON_BUILD_OBJECT function,生成你的 json 元素
  • JSON_BUILD_ARRAY function, to enclose your json object into an array JSON_BUILD_ARRAY function,把你的json object围成一个数组
UPDATE employee 
SET parents = JSON_BUILD_ARRAY(
                  JSON_BUILD_OBJECT('name', Employeename, 
                                    'id'  , EmployeeID   ));

Check the demo here .此处查看演示。


If you need to store it as an array, since如果你需要将它存储为一个数组,因为

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM