首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >错误代码: 1210。不正确的JSON_TABLE参数

错误代码: 1210。不正确的JSON_TABLE参数
EN

Stack Overflow用户
提问于 2020-08-31 10:52:56
回答 1查看 510关注 0票数 2

我正在使用JSON表,并且遇到了一个问题。我得到以下错误:

错误代码: 1210。不正确的JSON_TABLE参数

我在AWS上使用MySQL引擎版本8.0.20和MySQL工作台

当我直接在表(sf.purchases)之外使用JSON命令时,我能够获得预期的JSON输出。例如,这起作用是:

代码语言:javascript
运行
复制
SELECT pur.*, jt.*
FROM sf.purchases AS pur,
JSON_TABLE (pur.items, '$[*]' 
    COLUMNS (
            C_jt_id FOR ORDINALITY,
            C_jt_item_uid VARCHAR(255) PATH '$.item_uid',
            C_jt_item_name VARCHAR(255) PATH '$.name',
            C_jt_qty INT PATH '$.qty',
            C_jt_price DOUBLE PATH '$.price')
        ) AS jt;

A转换‘{“”qty“:"1","name":"Test","price":"59.99","item_uid":"320-000002"}’

进入各自的列中。

但是,当我创建一个视图时,我无法让JSON_TABLE处理结果表

下面是我创建的视图:

代码语言:javascript
运行
复制
CREATE VIEW sf.lp AS
    (SELECT * FROM sf.purchases);

下面是不起作用的代码

代码语言:javascript
运行
复制
SELECT pur.*, jt.*
FROM sf.lp AS pur,
JSON_TABLE (pur.items, '$[*]' 
    COLUMNS (
            C_jt_id FOR ORDINALITY,
            C_jt_item_uid VARCHAR(255) PATH '$.item_uid',
            C_jt_item_name VARCHAR(255) PATH '$.name',
            C_jt_qty INT PATH '$.qty',
            C_jt_price DOUBLE PATH '$.price')
        ) AS jt;

响应是: Error Code: 1210。不正确的JSON_TABLE参数

我检查了以下内容:

  • ,我已经减少了列,以查看这是否影响到什么

  • ,我检查了dataset,看看是否引入了一些奇怪的字符,
  • ,这两个表以及列和数据类型是相同的。最重要的是,如果表( latin1-swedish_ci
  • I've )和视图(sf.lp)都使用字符集拉丁语1和排序规则运行JSON_STORAGE_SIZE来验证表中的项是否符合JSON格式(

),则JSON是JSON类型的

代码语言:javascript
运行
复制
SELECT pur.items,  
JSON_STORAGE_SIZE(pur.items)
FROM sf.lp pur

如有任何意见或帮助,将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2021-11-21 22:32:28

我想你很难过,因为没有人回答你的问题,所以,我决定回来帮助别人。

我一直在努力解决这个问题,并弄明白了为什么有时JSON_TABLE不理解源JSON。

在我的例子中,我发送了另一个select结果JSON字段,以交叉连接JSON_TABLE并获得此错误。

我认为MySQL没有将结果字段识别为json,因此,我在结果字段上使用了JSON_EXTRACT来“强制”在JSON_TABLE语句中进行识别。

就像:

... CROSS JOIN JSON_TABLE(JSON_FIELD->'$[*]', COLUMNS ...)

我希望能帮助某人:)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63669435

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档