2011-08-06 109 views
0

所以繼承人我試圖做但不能弄清楚。我正在做的一個網站允許一個人選擇幾個類別,如'拳擊','減肥','耐力'等等......這些都是用逗號分開,並且坐在會員表的一個文本字段中。在MySQL中搜索用逗號分隔的多個類別文本字段

現在我試圖做的是找出我可以一次搜索多個類別(如說耐力和拳擊),並找到所有成員誰擁有/這兩個在他們的類別字段。

我想到了類似profile_specialising IN('Cat1','Cat2','Cat3')...但是當profile_specialising字段在db中有多個category /字段時不起作用。

因此,我可以在多個類別的字段中搜索多個類別。

+1

這不應該是一個以逗號分隔的字符串。您需要一個帶有「member_id」和「category」列的單獨表格。 –

+0

規範你的數據模型;不要試圖在數據庫中編寫自己的微型數據庫。 –

回答

0

我真的建議你把類別放在一個單獨的表中,並將它們與第三個表categories_to_members關聯起來。但是如果你想保留一些假設性的查詢,就像這樣。

SELECT * FROM members WHERE category LIKE '%cat%' OR category LIKE '%dog%' 

有這種內在的問題 - LIKE '%cat%'將匹配「緊張」和「貓」。試圖通過向LIKE添加逗號來解決這個問題比它的價值更麻煩,恕我直言。

相關問題