嗨,我试图在我的json列中添加/更新数据-其中的值是NULL,没有太多的运气-这是我的查询错误
update departments set (data->>'formal_name') = departments.name where (data->>'formal_name') is null
字符串感谢任何建议
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的
1条答案
按热度按时间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的