Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

题目描述

MySQL 在5.7.8版本开始,就支持字段的数据类型为 json。json 类型可以存对象或者数据。如何解决当 json 列为多维数组的时的条件查询?

相关代码

表数据

image

情况一

当我明确知道 detail 数组只要一条数据时,我可以通过下面的条件进行查询。

SELECT * FROM `user` where detail->'$[0].pool_name' = '技术池';

得到如下结果:
image

情况二

此时,我将下标后移以为变成了 1。

SELECT * FROM `user` where detail->'$[1].pool_name' = '技术池';

得到如下结果:
image

你期待的结果是什么?

通过上面我们可以看出,我通过 where 条件去查询数据时,使用了下标 1 或者 0 才查询出数据,并且下标不同,结果也不同。
现目前,期望的是不通过指定某个下标就能访问到数据。例如,where detail->'$.pool_name' = '技术池',就能将所有pool_name的值为技术池的全部查询出来。


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
3.4k views
Welcome To Ask or Share your Answers For Others

1 Answer

等待大神解答

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...