将MySQL JSON列数组读取为行

将MySQL JSON列数组读取为行,mysql,sql,arrays,json,mysql-json,Mysql,Sql,Arrays,Json,Mysql Json,我有一张桌子 X - id - name (eg: 'testing') - array_column_name (eg: ["value1","value2"]) 我想要一个将返回以下输出的查询 _____________________ | column1 | column2 | | testing | value1 | | testing | value2 | |_________|_________| 本质上我需要的是将数组转换为行 我试着用 SELECT name, J

我有一张桌子

X

 - id
 - name (eg: 'testing')
 - array_column_name (eg: ["value1","value2"])
我想要一个将返回以下输出的查询

_____________________
| column1 | column2 |
| testing | value1  |
| testing | value2  |
|_________|_________|
本质上我需要的是将数组转换为行

我试着用

SELECT name, JSON_EXTRACT(@'array_column_name', '*') FROM X;

但是我不确定应该把什么作为
JSON\u EXTRACT
的第二个参数,因为我的列包含一个普通数组而不是对象数组。

如果您使用的是MySQL>=8.0.4,那么您可以使用,否则,实现所需的功能就不那么简单了:

选择
`X`.`name``column1`,
`第2栏`
从…起
`X`,
JSON_表(
`数组\列\名称`,
'$[*]'
纵队(
`第2列'VARCHAR(255)路径'$'
)
)“德”;

请参见。

你能举一个json的例子吗?@Vixed我在第一个代码块中已经有了一个例子。[“值1”、“值2”]