如何将JSONB值设置为null

时间:2019-12-18 16:44:28

标签: postgresql jsonb

我正在尝试将一堆jsonb值更新为null。这是我正在尝试执行的操作的示例,并且在下面出现了错误。

在这种情况下如何将first-name设置为null?

UPDATE users
SET
    fields = fields || '{"first-name": NULL}'
WHERE user_id = 1;
ERROR:  invalid input syntax for type json
LINE 3:  fields = fields || '{"first-name": NULL}'
                                    ^
DETAIL:  Token "NULL" is invalid.
CONTEXT:  JSON data, line 1: {"first-name": NULL...

2 个答案:

答案 0 :(得分:2)

如果要在JSONB中使用null值,则它必须是JSON空值,而不是SQL NULL值。 JSON null必须使用小写字母。

答案 1 :(得分:1)

使用jsonb_set

UPDATE users
SET
    fields = jsonb_set(fields, '{first-name}', 'null')
WHERE user_id = 1;