MySQL JSON_EXTRACT路径表达式错误 [英] MySQL JSON_EXTRACT path expression error

查看:383
本文介绍了MySQL JSON_EXTRACT路径表达式错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

语法对我来说很正确,任何帮助将不胜感激!

The syntax looks right to me, any help would be appreciated!

mysql> select fieldnames from tablename limit 5;
+--------------------------------------------------------+
| fieldnames                                             |
+--------------------------------------------------------+
| {"example-field-1": "val2"}                            |
| {"example-field-2": "val1"}                            |
| {"example-field-1": "val1", "example-field-3": "val1"} |
| {"example-field-2": "val1"}                            |
| {"example-field-2": "val2"}                            |
+--------------------------------------------------------+
mysql> select JSON_EXTRACT(fieldnames, '$.example-field-1') from tablename;
ERROR 3143 (42000): Invalid JSON path expression. The error is around character position 17 in '$.example-field-1'.

MySQL 5.7.10

MySQL 5.7.10

推荐答案

您可以尝试从 https://dev.mysql.com/doc/refman/5.7/en/json.html

如前所述,名称键的路径组件必须用引号引起来 如果未加引号的键名在路径表达式中不合法.让$指代 达到这个值.

As mentioned previously, path components that name keys must be quoted if the unquoted key name is not legal in path expressions. Let $ refer to this value.

select JSON_EXTRACT(fieldnames, '$."example-field-1"') from tablename;

这篇关于MySQL JSON_EXTRACT路径表达式错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆