我在 MySQL 数据库中有一个包含 1 个 JSON 类型列 city 的表,该表存储具有以下结构的城市对象的 JSON 数组:
{
"cities": [
{
"id": 1,
"name": "Mumbai",
"countryID": "9"
},
{
"id": 2,
"name": "New Delhi",
"countryID": "9"
},
{
"id": 3,
"name": "Abu Dhabi",
"countryID": "18"
}
]
}
我想从 city 数组中选择对象,countryID = 90
但我被卡住了,因为对象数组存储在单个列city
中,这阻止了我执行(*)
with WHERE JSON_CONTAINS(city->'$.cities', JSON_OBEJECT('countryID', '90'))
。
我的查询看起来像这样,但我无处可去,
SELECT JSON_EXTRACT(city, '$.cities') FROM MyTable WHERE JSON_CONTAINS(city->'$.cities', JSON_OBJECT('countryID', '90'))
如果有人能指出我正确的方向或给我一个解决方案,那将是一个很大的帮助。
谢谢