Rumah >pembangunan bahagian belakang >tutorial php >一个字段多个值,用逗号隔开,取出数据表这个字段中含有某个值的所有ID
举栗子:
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可以做
其实还不如分中间表更好
表product
id 1 2 3
表user
user_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类型