MySQL正则表达式搜索JSON数组

时间:2015-09-06 10:13:26

标签: mysql regex

我将json数据存储到表中的某个字段,我无法使用REGEXP返回正确的条目 基本上,它匹配JSON对象中的其他属性,它不应该

示例JSON

    {
  "data": {
    "en": {
      "containers": [
        {
          "id": 1441530944931,
          "template": "12",
          "columns": {
            "column1": [
              "144",
              "145",
              "148"
            ],
            "column2":[
                "135",
                "148",
                "234"
            ]
          }
        }
      ],
      "left": "152",
      "right": "151"
    },

  }
}

现在,我想针对特定值(即148)

搜索columns数组

现在我有以下查询

WHERE (w.`_attrs` REGEXP '"column[0-9]":.*\\[.*"148".*\\]'

效果很好 但是,如果我将值从148更改为152或151,它也可以 出于某种原因,查询也匹配属性,但这不是理想的

任何帮助?

由于

1 个答案:

答案 0 :(得分:0)

或者......切换到MariaDB 10并索引JSON的组件。