在 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 container (latest)中执行。
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 不起作用?