【发布时间】:2021-03-07 07:58:11
【问题描述】:
这是一个示例数据库“test”,其中包含 JSON 对象数组的 JSON 列“arr”
+----+----------------------------------------------------------+
| id | arr |
+----+----------------------------------------------------------+
| 1 | [{"name": "aman"}, {"name": "jay"}] |
| 2 | [{"name": "yash"}, {"name": "aman"}, {"name": "jay"}] |
+----+----------------------------------------------------------+
我想使用 JSON_CONTAINS 来了解数组中某个对象的特定键中是否存在值。
这是我的查询:
SELECT JSON_CONTAINS(arr, '"jay"', '$[*].name') from test WHERE id=1;
我收到以下错误:
ERROR 3149 (42000):在这种情况下,路径表达式可能不包含 * 和 ** 标记或数组范围。
我知道我可以尝试为此使用JSON_EXTRACT(),但是我在这里做错了什么?
有没有办法在 MySQL 中使用JSON_CONTAINS 和 JSON 对象数组。
【问题讨论】:
标签: mysql sql json mysql-json