您正在尝试在 MySQL 数据库中存储的 JSON 数据中进行搜索。虽然您可能使用基于 REGEXP 的查询,但它不会产生所需的结果。我们来探讨一下更有效的方法。
MySQL 版本 >= 5.7 的解决方案
MySQL 5.7 及以后版本提供了 JSON_EXTRACT 函数,可以直接搜索JSON 数据中的特定元素。要查找等于“1”且值不是“3”的键,可以使用以下查询:
SELECT JSON_EXTRACT(attribs_json, '$.feature."1".value') AS attribs_json_value FROM products WHERE JSON_EXTRACT(attribs_json, '$.feature."1".value') != '["3"]'
这将提取“feature”对象中“1”键的值attribs_json.
其他参考
有关进一步说明,请参阅 MySQL JSON搜索函数参考手册:https://dev.mysql.com/doc/refman/5.7/en/json-search-functions.html
以上是如何在MySQL中高效搜索JSON数据?的详细内容。更多信息请关注PHP中文网其他相关文章!