搜索

首页  >  问答  >  正文

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.还有一种是取出来再操作,在放回去。

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

世界只因有你世界只因有你2775 天前726

全部回复(3)我来回复

  • 大家讲道理

    大家讲道理2017-06-06 09:54:19

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

    回复
    0
  • 淡淡烟草味

    淡淡烟草味2017-06-06 09:54:19

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

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

    回复
    0
  • PHP中文网

    PHP中文网2017-06-06 09:54:19

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

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

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

    回复
    0
  • 取消回复