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

猿猿猿猿
  • 37

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

clipboard.png

回复
阅读 6.4k
4 个回答
你要继续加油哦
  • 433
✓ 已被采纳

1match against

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

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

萧逸
  • 706

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

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

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


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

宣传栏