programing

MariaDb: JSON_ARY_APPEND to been empty 배열

padding 2023. 9. 15. 20:49
반응형

MariaDb: JSON_ARY_APPEND to been empty 배열

문서에 따라 JSON_ARY_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.

MariaDB [test]> SELECT JSON_ARRAY_APPEND(JSON_ARRAY(''), '$', JSON_EXTRACT('{"test":123}', '$'))\G
*************************** 1. row ***************************
JSON_ARRAY_APPEND(JSON_ARRAY(''), '$', JSON_EXTRACT('{"test":123}', '$')): ["", {"test": 123}]
1 row in set (0.00 sec)

언급URL : https://stackoverflow.com/questions/44303163/mariadb-json-array-append-to-empty-array

반응형