私はMySQLで簡単な比較テストをしようとしています.IDを格納するフィールドがあります.
1;2;23;12
または、そのエントリの作成時に 1 つのオプションのみが選択された場合、それは 1 つだけになります。
2
とにかく、選択クエリをフィルタリングして、たとえば ID 2 を持つ DB 内のエントリを見つけようとしています。そのため、その id 2 をその列に対してそれらの値と可能な単一の値と比較するには、何らかの比較が必要です。
私はMySQLで簡単な比較テストをしようとしています.IDを格納するフィールドがあります.
1;2;23;12
または、そのエントリの作成時に 1 つのオプションのみが選択された場合、それは 1 つだけになります。
2
とにかく、選択クエリをフィルタリングして、たとえば ID 2 を持つ DB 内のエントリを見つけようとしています。そのため、その id 2 をその列に対してそれらの値と可能な単一の値と比較するには、何らかの比較が必要です。
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を参照)。また、この種のクエリはパフォーマンスが高くないことに注意してください。