首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未从mysql json数据类型返回数据

问未从mysql json数据类型返回数据
EN

Stack Overflow用户
提问于 2017-01-04 14:58:10
回答 1查看 96关注 0票数 0

我根据where条件从mysql的json字段中搜索数据。但没有数据显示。

"attributes_list“的json类型的MySql字段名

我的json数据:

代码语言:javascript
复制
{
 "0": 
    {
      "id": "01c93aae-8603-42f3-b097-89357467872a#####ed20eb29-611a-4e5c-a966-c09708c98179", 
      "text": "Canada", 
      "attr_name": "Country"
    }, 
 "1": 
    {
      "id": "01c93aae-8603-42f3-b097-89357467872a#####6e6269a1-afbb-4d5d-b2ee-6d25fe38fec7", 
      "text": "Ontario", 
      "attr_name": "REGION"
    }, 
 "2": 
    {
      "id": "5a0a085e-f3e4-4fbe-9f3e-61cec4836d36#####d81923c9-9532-4375-ba3d-19214ac61c4e", 
      "text": "Lager", 
      "attr_name": "TYPE"
    }, 
 "-1": {"id": "", "text": "", "attr_name": ""}
}

我的mysql的json查询:

当我运行以下查询时,则显示数据

代码语言:javascript
复制
SELECT * FROM products where attributes_list->'$[0]."0".text' = 'Canada';

但当我运行此命令时,没有显示数据

代码语言:javascript
复制
SELECT * FROM products where attributes_list->'$[0]."*".text' = 'Canada'; 

我解释一下我的情况:

在product表中有6行。在product表中,有一个字段,其名称是属性列表。

此字段为json类型。产品具有多个保存属性。我的attribute_list json格式是

代码语言:javascript
复制
{"0":{"id":"","text":""},"1":{"id":"","text":""}}. 

现在我想搜索where text='Canada‘,然后阅读这些产品信息

EN

回答 1

Stack Overflow用户

发布于 2017-01-04 15:45:33

根据mySql manual的说法,选择器$**.text将会被使用。

在页面上搜索(the path $**.b)以到达那里。

这将搜索每个文档的第二级,并在第二级返回文本键的值。因此您的查询将如下所示:

代码语言:javascript
复制
SELECT * FROM products where attributes_list->'$.*.text' = 'Canada';

此外,我还尝试在fiddle中执行与您上面提到的相同的任务

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

https://stackoverflow.com/questions/41457939

复制
相关文章

相似问题

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