Sql 如何使用空值更新JSON列?

Sql 如何使用空值更新JSON列?,sql,json,postgresql,Sql,Json,Postgresql,嗨,我正在尝试在我的json列中添加/更新数据,其中的值为NULL 运气不太好-以下是我对错误的质疑 update departments set (data->>'formal_name') = departments.name where (data->>'formal_name') is null 感谢您的建议除非您使用的是PostgreSQL 9.5的某个Alpha版本,否则无法更新JSON列中的数据: 也要考虑这个答案中给出的建议: 如果您确实需要修改

嗨,我正在尝试在我的json列中添加/更新数据,其中的值为NULL 运气不太好-以下是我对错误的质疑

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

感谢您的建议

除非您使用的是PostgreSQL 9.5的某个Alpha版本,否则无法更新JSON列中的数据:

也要考虑这个答案中给出的建议:

如果您确实需要修改JSON字段中的数据,则可能需要使用JSON_array_elements()分解JSON,然后将其作为一个整体重新构建,如下所述: