mysql的JSON如何操作?

mysql的JSON字段内容

"[{"id":"1","name":"a"},{"id":"2","name":"b"},{"id":"3","name":"c"}]"

怎么查询 name=b 的数据?
注:我这个是一条数据, 是个二维数组转的json

  1. 一种方法是直接操作json
    有人提供了select json_extract(json,'$[*].name' ) from table where json_extract(json,'$[*].name')= "b" ;方法,没有效果

2.还有一种是取出来再操作,在放回去。

问题是取出来的内容如图所示,试过各种方法无法操作

clipboard.png

阅读 3.6k
3 个回答

再添加一个字段用于做查询操作吧,尽量不要用mysql的原生函数。

json字段内容,最外层不应该有双引号吧,这样就不是一个JSON数组了。

另外,JSON字段的内容,最好能给个完整的文字内容,截图的内容不全。

json_extract(json,'$[*].name' )

返回的是["a", "b", "c"]不会跟"b"匹配的.

诶,自己就不会试着调一下啊...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题