举栗子:
id user_id
1 2,32,4
2 3,63,2
3 4,62,7
取出user_id中有2的id,结果=》1,2(含有单独的2)like的方式显然行不通
简洁漂亮的sql语句
看到楼下的有大大说改字段结构的,目前可能不太允许这样。因为整个项目都是通的,如果我在这一个地方动了,其他地方也有调用这个地方的时候,由于字段结构改变,可能会出现不可预测的问题。
回复内容:
举栗子:id user_id
1 2,32,4
2 3,63,2
3 4,62,7
取出user_id中有2的id,结果=》1,2(含有单独的2)like的方式显然行不通
简洁漂亮的sql语句
看到楼下的有大大说改字段结构的,目前可能不太允许这样。因为整个项目都是通的,如果我在这一个地方动了,其他地方也有调用这个地方的时候,由于字段结构改变,可能会出现不可预测的问题。
SELECT id FROM table WHERE find_in_set(‘2’,user_id);
id user_id
1 ,2,32,4,
2 ,3,63,2,
3 ,4,62,7,
如果你改成这样的话就好做 like可以做
其实还不如分中间表更好
表productid
1
2
3
表useruser_id
2
3
4
6
32
62
63
中间表product_id user_id
1 2
1 32
1 4
2 2
2 63
2 3
3 4
3 62
3 7
还是建议你更该表结构吧!这样确实不好取。或者改数据存储方式如id user_id
1 [2],[32],[4]
2 [3],[63],[2]
3 [4],[62],[7]
这样在用模糊查询就可以了。不过还是推荐你修改表数据为好
mysql5.7得json类型
本文原创发布php中文网,转载请注明出处,感谢您的尊重!