You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL JSON路径表达式错误3143:提取嵌套字段失败求助

解决MySQL JSON路径表达式错误(Error Code: 3143)

你的问题出在MySQL的JSON路径语法上——当JSON对象的键是纯数字时,必须用双引号把键名括起来,直接写$.1会被判定为无效路径。

正确的查询语句

把数字键用双引号包裹即可:

SELECT customFields->>'$."1".name' FROM part;

也可以用等价的JSON_UNQUOTE + JSON_EXTRACT写法:

SELECT JSON_UNQUOTE(JSON_EXTRACT(customFields, '$."1".name')) FROM part;

为什么原语句报错

MySQL的JSON路径规则里,纯数字的键名不属于合法的标识符,必须显式用双引号标注它是对象的属性名,而非数组索引。如果你的customFields是数组结构(比如[{"name":"xxx"}, {"name":"yyy"}]),那才用$[0].name这种索引写法,但显然你的场景是对象下的数字键。

示例测试

假设part表的customFields列数据如下:

{
  "1": {"name": "不锈钢螺栓"},
  "2": {"name": "铝合金螺母"}
}

执行正确语句后,会返回对应键"1"下的不锈钢螺栓值。

内容的提问来源于stack exchange,提问作者Tim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 13:00:49