我用
select to_json(host) from host where id=3
从我的 postgreSQL 数据库查询数据,结果如下:
{"id":3,"project_id":1,"name":"a","mac":"abc","info":"x"}
在我的应用程序中更改数据后,我想更新表格。
是否有“json”方式来做到这一点?不做像
这样的普通更新update host set project_id=1, name='a', mac='abc',info='x' where id=1;
最佳答案
使用jsonb_populate_record
在update from
clause
update host
set
(project_id, name, mac, info) =
(j.project_id, j.name, j.mac, j.info)
from jsonb_populate_record ( null::host,
'{"id":1,"project_id":1,"name":"a","mac":"abc","info":"x"}'::jsonb
) j
where host.id = j.id
关于json - 直接从 JSON 对象更新 Postgresql 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42274296/