postgresql 如何使用NULL值更新JSON列?

pu3pd22g  于 2023-11-18  发布在  PostgreSQL
关注(0)|答案(1)|浏览(205)

嗨,我试图在我的json列中添加/更新数据-其中的值是NULL,没有太多的运气-这是我的查询错误

update departments 
set (data->>'formal_name') = departments.name 
where (data->>'formal_name') is null

字符串
感谢任何建议

mhd8tkvw

mhd8tkvw1#

除非你使用的是PostgreSQL 9.5的Alpha版本,否则你不能更新JSON列中的数据:
https://wiki.postgresql.org/wiki/What%27s_new_in_PostgreSQL_9.5#JSONB-modifying_operators_and_functions
此外,考虑一下这个答案中给出的建议:
How to perform update operations on columns of type JSONB
如果你真的需要修改JSON字段中的数据,你可能需要用json_array_elements()分解JSON,然后重新构建一个整体,如下所述:
https://dba.stackexchange.com/questions/54283/how-to-turn-json-array-into-postgres-array

相关问题