猿问

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

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

慕慕森
浏览 2615回答 5
5回答

瑰丽傀儡

and 或者 or拼接

手掌心

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

HUWWW

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

慕尼黑5688855

建议存储这样的值,最好存储varchar类型的,值可以的 '1,2,3,4' 这样 你在处理这些值的时候 你是可以这样处理的 select * from table where find_in_set($value,uids);

ITMISS

这种只能是当字符串处理了。
随时随地看视频慕课网APP
我要回答