在 postgres 中传播语法 JSONB 列

Posted

技术标签:

【中文标题】在 postgres 中传播语法 JSONB 列【英文标题】:Spread Syntax JSONB column in postgres 【发布时间】:2019-08-12 20:25:41 【问题描述】:

如何在 postgres UPDATE 中进行传播语法

UPDATE TABLE <table_name> set data=...original, ...<new_data> where id='<id>'

在postgres中

【问题讨论】:

【参考方案1】:

其中 "a": "b" 是传播到当前数据中的 JSON 对象

update <table_name> set data = data || '"a":"b"' where id='<id>'

当您需要更改嵌套值时使用 jsonb_set

update <table_name> set data = jsonb_set(data,'"a","b"', '"attr": "value"', true) where id='<id>'

【讨论】:

select 声明不是必需的:UPDATE t1 SET data = data || '"a":"b"' where id = 2

以上是关于在 postgres 中传播语法 JSONB 列的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Postgres 9.4 中对 JSONB 类型的列执行更新操作

JDBCTemplate RowMapper 读取 postgres 表中的 jsonb 列

postgres 将 jsonb[] 更改为 jsonb

如何在 Vapor/Fluent 中正确查询 Postgres JSONB 字段

Postgres 合并为空 JSONB 数组

postgres jsonb列中的模糊字符串匹配