mysql版本5.1.73中不支持JSON_CONTAINS

问题描述 投票:0回答:1

我有一些问题,找到一个带有where子句的记录,参数是JSON格式。例如,JSON列的值类似于["1","2","3"]。当我运行where JSON_CONTAINS(tags, '["1"]')时,它会抛出一个错误。

我想问的是如何获得每个JSON列中值为1的所有记录?也许我可以使用PHP,如果用低版本的mysql无法做到这一点。请有人知道这样做可以帮助我。谢谢你。

这是表记录的样本:

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

我想在标签栏中显示值为1的Jason和Sarah。

php mysql json
1个回答
1
投票

您可以尝试使用LIKE来检查字段是否包含结果;

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

但是,as outlined in this other answer在以这种方式阅读JSON时可能需要考虑转义字符和编码。

© www.soinside.com 2019 - 2024. All rights reserved.