根据文档,我发现将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。
答案 0 :(得分:0)
{{1}}