如何将 JSONB 值设置为 null
How to set a JSONB value to null
我正在尝试将一堆 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...
使用jsonb_set
:
UPDATE users
SET
fields = jsonb_set(fields, '{first-name}', 'null')
WHERE user_id = 1;
如果您想要 JSONB 中的 null
值,那么它必须是 JSON 空值,而不是 SQL NULL 值。 JSON null
必须小写。
我正在尝试将一堆 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...
使用jsonb_set
:
UPDATE users
SET
fields = jsonb_set(fields, '{first-name}', 'null')
WHERE user_id = 1;
如果您想要 JSONB 中的 null
值,那么它必须是 JSON 空值,而不是 SQL NULL 值。 JSON null
必须小写。