我有一个结构 - 列访问者
[{"firstname":"john","lastname":"penn"},{"firstname":"mickey","lastname":"smith"},{"firstname":"darth","lastname":"vader"}]
我想知道这个json中列出的所有这些人中是否有一个约翰。
我的查询没有找到任何内容(没有找到行)
SELECT conference_name FROM conference WHERE JSON_EXTRACT(visitors, "$[*].firstname") = 'john';
这可能只使用json_extract和NOT json_search来实现,因为大表的速度很慢吗?
像在docs中提到的那样:
mysql> SELECT c, JSON_EXTRACT(c, "$.firstname"), g
> FROM jemp
> WHERE JSON_EXTRACT(c, "$.firstname") = 'john';
或者在你的情况下,你可以尝试
SELECT conference_name FROM conference WHERE JSON_EXTRACT(visitors, "$.firstname") = 'john';
要么 ?
SELECT conference.conference_name FROM conference WHERE JSON_EXTRACT(conference.visitors, "$.firstname") = 'john';