我有以下的数据库结构:MySQL的搜索分隔,使用PHP
id | name | size
-------------------------
1 | Men's Jacket | S,M,L
2 | Men's Jacket | M,L
3 | Men's Jacket | S
我想要得到的结果与size
中号仅。
我知道该怎么做,使用PHP的explode()
& foreach()
,但它需要太多的内存10k +产品。
我有以下的数据库结构:MySQL的搜索分隔,使用PHP
id | name | size
-------------------------
1 | Men's Jacket | S,M,L
2 | Men's Jacket | M,L
3 | Men's Jacket | S
我想要得到的结果与size
中号仅。
我知道该怎么做,使用PHP的explode()
& foreach()
,但它需要太多的内存10k +产品。
要获得唯一的M的结果:(例如 'M')
更新您的SQL使用其中where size = "M"
子句要得到的结果是使用M:(例如“M ”, 'S,M', 'S,M,L', 'M,L')
更新您的SQL中使用的where size like "%M%"
这个答案有什么问题? –
where子句我刚刚了解了MySQL的find_in_set()
功能:
SELECT * FROM products WHERE find_in_set('M', size)<>0
然后修复您的数据库结构并对其进行规范化处理,从而使问题无法解决。 –
使用'FIND_IN_SET' – splash58
尺寸表:prod_id,尺寸。 1 | S,1 | M,1 | L,2 | M等 – 2015-12-21 21:50:18