PostgreSQL更新表字段为JSON的数据。
比如:
表结构如下:
# table name users
id bigserial not null primary key
info json '{}'::json
这个users表中有两个字段,一个是主键id
,另一个是信息字段info
,默认是空json
如何更新这个info字段?
更新sql语句:
update users set info = info::jsonb || '{"name": "test"}'::jsonb where id=1;
这样,如果info
字段有 name
这个key,那么就会更新这个key对应的value,如果没有这个key,就会新创建一个。
比如我最先info
存储的是空的json,在我运行一次之后,id为1的数据的 info
字段就会改编成
SELECT info FROM users WHERE id=1;
# > 输出如下
{"name": "test"}