2012-08-09 63 views
0

我希望做在MySQL一個簡單的對比測試中,我有一個存儲的ID,像這樣一個領域:MySQL的檢查,如果現場有一些IT

1;2;23;12 

或創建時,如果只選擇一個選項該條目只會是一個:

2 

無論如何,我希望我的過濾選擇查詢,發現在他們中有實例的ID 2數據庫條目。所以我需要一些比較來比較id 2與該列和那些值和一個可能的單個值。

回答

3

您正在尋找find_in_set功能:

Select 
    * 
from 
    your_table 
where 
    FIND_IN_SET('2',REPLACE('1;2;23;12', ';' , ',')) > 0 

我建議你一定要規範數據庫(請參見:http://en.wikipedia.org/wiki/First_normal_form) 此外,通知你,這類型的查詢不高的性能。

+0

太棒了!是的,我並不是真的很擔心這個速度,因爲在那裏記錄的真的不會很多,這使我不必爲添加一個新的表單和第二個表的xreference。 – jfreak53 2012-08-09 19:13:23