我有以下的數據庫結構: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