gpt4 book ai didi

php - 检查mysql中的json编码数组中是否存在值

转载 作者:可可西里 更新时间:2023-11-01 08:03:34 25 4
gpt4 key购买 nike

我正在使用 Mysql 触发器来对我的数据库执行某些操作。在任何事情之前,我想检查我的配置表中的 json_encode 字符串中是否存在一个值,然后继续运行触发器。我的配置表由 php 脚本处理,如下所示:

-------------------------------------------
| config_name | config_value |
-------------------------------------------
| target_id | ["1","16","18","22","37"] |
-------------------------------------------

在 php 中我们可以使用:如果 in_array(json_decode(config_value)) 和 ...

但我的问题出在不支持 in_array 和 json_decode 的 Mysql 语法中

如何检查我的值是否存在于 Mysql 触发器的“配置值”中?

最佳答案

如何解决这个问题

如果您将 JSON 存储在 mysql 中,请确保升级到 mysql 5.7,然后您可以使用 JSON functions 的范围。可用的。在您的特定情况下,您可以这样做

   SELECT * FROM my_table WHERE JSON_SEARCH(config_value,"one", "17") IS NOT NULL;

你绝对应该做的事

您的数据有问题。如果你发现你总是在搜索一个 JSON 字段,那真正意味着你的表应该被规范化。

更新:第 2 部分,根据@Sammitch 的建议更改了标题

关于php - 检查mysql中的json编码数组中是否存在值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41132714/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com