json - 直接从 JSON 对象更新 Postgresql 表

标签 json postgresql

我用

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_recordupdate 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/

相关文章:

android - 在 Android 中处理 JSON 数据的最佳策略是什么?

java - 使用 GSON 解析 JSON 文件

PostgreSQL:仅使用 SQL 捕获长脚本的运行时间

sql - 以编程方式构建 SQL 查询的可靠方法

python - 使用 sqlalchemy create_engine 配置查询/命令超时?

json - 如何在Flutter中重新组合JSON以匹配数据类型?

javascript - 将键分配给数组对象

Java:在 Restful 服务中创建包含多个值的 JSON 响应

ruby-on-rails - 创建一个包含 has_many 关联的索引

sql - 使用 Join 选择数据