2015-09-24 51 views
1

你好我試着在我的JSON列中添加/更新數據 - 在裏面的值爲NULL運氣不好 - 這裏是我的查詢錯誤如何更新具有NULL值的JSON列?

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

感謝您的任何建議

回答

1

除非你正在使用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 in Postgres 9.4

如果你真的需要修改的JSON字段中的數據,你可能會分解與json_array_elements的JSON(),然後重新建立它作爲一個整體,按如下說明:

https://dba.stackexchange.com/questions/54283/how-to-turn-json-array-into-postgres-array