В MySQL 8.0.4 и более поздних версиях есть функция с именем " JSON_TABLE ".
Я попробовал примеры из официальных документов mysql, но JSON_TABLE вернул ошибку:
SELECT *
FROM
JSON_TABLE(
'[{"x":2,"y":"8"},{"x":"3","y":"7"},{"x":"4","y":6}]',
"$[*]" COLUMNS(
xval VARCHAR(100) PATH "$.x",
yval VARCHAR(100) PATH "$.y"
)
) AS jt1;
ОШИБКА 1142 (42000): команда SELECT запрещена пользователю 'test'@'127.0.0.1'
для таблицы 'json_table'
этот оператор SQL был выполнен в MySQL Docker контейнер (последний) .
mysql> SHOW GLOBAL VARIABLES LIKE '%version%';
+-------------------------+------------------------------+
| Variable_name | Value |
+-------------------------+------------------------------+
| innodb_version | 8.0.11 |
| protocol_version | 10 |
| slave_type_conversions | |
| tls_version | TLSv1,TLSv1.1,TLSv1.2 |
| version | 8.0.11 |
| version_comment | MySQL Community Server - GPL |
| version_compile_machine | x86_64 |
| version_compile_os | Linux |
| version_compile_zlib | 1.2.11 |
+-------------------------+------------------------------+
9 rows in set (0.06 sec)
Кто-нибудь знает, почему JSON_TABLE не работает?