在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;
ERROR 1142(42000):SELECT命令被拒绝用户'测试' @' 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不工作?