此问题已在此处有答案:
How to search JSON data in MySQL?(10个答案)
How to search JSON array in MySQL?(11个答案)
MySQL JSON - using IN statement | json_contains(4个答案)
MySQL Filter JSON_CONTAINS Any value from Array(3个答案)
MySQL how to search JSON Array or JSON_CONTAINS in where statement with column name(1个答案)
昨天关门了。
我将一个列的数据保存为json格式:
{"sp_id": [1, 2,113],"spd_id": [],"spclg_id": []}
我想使用WHERE IN检查sp_id
字段是否包含以下值 数组中指定的
例如,我想检查给定值是否至少出现一次 在u_id
数组中。
sp_id
的至少一个元素必须匹配- 必须在MySQL中
- mysql版本:5.7.40
在PHP中,它看起来像这样:
if(count(array_intersect($needle, $haystack)))
1条答案
按热度按时间q3qa4bjr1#
您可以使用
JSON_CONTAINS
函数,不幸的是,它有一些限制。您需要逐个检查项目:更好的解决方案是使用
JSON_TABLE
,它需要MySQL 8或更高版本:DB<>Fiddle