MariaDb:JSON_ARRAY_APPEND为空数组

时间:2017-06-01 09:07:43

标签: sql arrays json mariadb

根据文档,我发现将JSON_ARRAY_APPEND与空JSON数组一起使用会让人感到困惑(并且无法正常工作)。我正在使用最新版本的MariaDb 10.2.6。

当我这样做时:

SELECT JSON_ARRAY_APPEND('[1]', '$', JSON_EXTRACT('{"test":123}', '$'));

结果符合预期:

[1, {"test": 123}]

(与:相同:

SELECT JSON_ARRAY_APPEND(JSON_EXTRACT('[1]', '$'), '$', JSON_EXTRACT('{"test":123}', '$'));

但是,当我操作空数组时:

SELECT JSON_ARRAY_APPEND('[]', '$', JSON_EXTRACT('{"test":123}', '$'));

结果是:

(NULL)

可能因为这个我无法用空数组更新字段。当我这样做时:

UPDATE `test` SET `test`.`log` = JSON_ARRAY_APPEND(`test`.`log`, '$', JSON_EXTRACT('{"test":123}', '$'))

我收到错误:

(4038) Syntax error in JSON text in argument 1 to function 'json_array_append' at position 2 

我出错了还是某种错误或警告?

此致 JK。

1 个答案:

答案 0 :(得分:0)

{{1}}