mysql检索json内容

现有数据表如下,字段b中存放的是包含一些ID号的json数组

userb
张三[1,10,11,20,30]
李四[1,11,30]

我想查询到b字段的json数组中包含ID为1的记录
MYSQL语句应该怎么写?

阅读 1.6k
2 个回答

说简单也简单,复杂且优雅的方式我没想到。

SELECT t.* FROM `table_name` t WHERE t.b LIKE '[1,%' OR t.b LIKE '%,1,%'

如果json类型大概就是这样吧

select * from table where json_contains(b, '1', '$')

不太建议varchar存json, 还要参与搜索...
如果可以升mysql, 就升吧, 如果不行, 考虑建个子表...

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