mysql 字段是json格式如何做 IN 查询?

我的数据库中有一个字段是存储用户id的,因为要存入的uids是一个数组所以先把他转为了json再存入数据库中,现在的问题是我要判断某个uid是否在uids中,我该怎么做?

clipboard.png

阅读 8.4k
4 个回答

1match against

2 SELECT * FROM table WHERE field REGEXP ‘[[]?uid[]]?’;

不改表结构的话,简单点的做法就是在sql中先去掉两边的[], 然后可以利用 find_in_set 函数

建议存储这样的值,最好存储varchar类型的,值可以的 '1,2,3,4'

这样 你在处理这些值的时候 你是可以这样处理的

select * from table where find_in_set($value,uids);


这种只能是当字符串处理了。

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