Postgresql
如何將 json 插入表中並使某些列保持 json
我想將數據插入表中,其中第一級鍵作為值而不是 json 插入。雖然列“p_attribute”需要儲存嵌套的 json。例如,對於 Jane Doe,我希望她的屬性列如下所示:
我只能通過更新列 p_attribute 來實現這一點:
update json_table set p_attribute =( '{ "p_attribute": { "age": "37", "eye_color": "blue", "favourite_qoute": "I am the classic example" } }' )
現在我想在一個插入中創建上面的圖片,如下所示:
insert into json_table select * from json_populate_recordset (NULL::json_table, '[{ "p_id": 1, "first_name": "Jane", "last_name": "Doe", "p_attributes": { "age": "37", "eye_color": "blue", "favourite_qoute": "I am the classic example" } }]';
但是我執行了這個插入,然後 p_attribute 列得到一個空值,但是其餘的列被正確插入:
我使用 PostgreSQL 12,我的表如下所示:
create table json_table ( p_id int primary key, first_name varchar(20), last_name varchar(20), p_attribute json )
json格式的實際列名“p_attribute”和鍵“p_attributes”不同……