0

私はMySQLで簡単な比較テストをしようとしています.IDを格納するフィールドがあります.

1;2;23;12

または、そのエントリの作成時に 1 つのオプションのみが選択された場合、それは 1 つだけになります。

2

とにかく、選択クエリをフィルタリングして、たとえば ID 2 を持つ DB 内のエントリを見つけようとしています。そのため、その id 2 をその列に対してそれらの値と可能な単一の値と比較するには、何らかの比較が必要です。

4

1 に答える 1

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を参照)。また、この種のクエリはパフォーマンスが高くないことに注意してください。

于 2012-08-09T19:03:06.687 に答える