代码之家  ›  专栏  ›  技术社区  ›  Antonio

MySQL5.1.73版本不支持JSON

  •  0
  • Antonio  · 技术社区  · 6 年前

    我有一些问题要用where子句来查找参数是 JSON 格式。例如 JSON格式 列的值如下 ["1","2","3"] 是的。当我跑的时候 where JSON_CONTAINS(tags, '["1"]') 它抛出一个错误。

    我想问的是如何得到所有有价值的记录 1个 在每个 JSON格式 专栏?也许我可以用 PHP 如果没有办法用低版本的mysql。拜托,任何人都知道这样做可以帮助我。谢谢你。

    这是表记录的示例:

        id | name    | tags
        ---+---------+------------
        1  | Jason   | ["1","2"]
        2  | Michael | ["4"]
        3  | Sarah   | ["1","3"]
        4  | Lucy    | ["2"]
    

    我想展示 杰森 莎拉 有价值的 1个 在“标记”列中。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Hex    6 年前

    你可以试着用 LIKE 检查字段是否包含结果;

    SELECT * FROM jsondata WHERE tags LIKE '%"1"%'
    

    然而, as outlined in this other answer 当以这种方式读取json时,可能需要考虑转义字符和编码。