たとえば、テーブル productinfo のフィールド データの MY DB エントリは次のとおりです。
66523,665893,745896321
ここでSELECT
、穴のエントリを与えるステートメントが必要です。
例えば:
SELECT * from productinfo WHERE products="66523"
試す:
SELECT *
FROM productinfo
WHERE Concat(',', products, ',') LIKE '%,66523,%'
このfiddleでは、最初の 3 行には 66523 製品が含まれているため、返されることを確認できますが、66523 を含む製品番号を含む 4 番目の行は返されません。
しかし、複数のデータを 1 つのフィールドに格納するのは本当に悪い習慣です。外部キーを使用して、このデータを新しいテーブルに分割することをお勧めします。そうしないと、インデックスを効率的に使用する方法がなく、パフォーマンスが低下するため、同様の回避策が必要になります。
このように試しましたか?
SELECT * from productinfo WHERE products like "66523,%" OR products like "%,66523,%" OR products like "%,66523" or products="66523";
これを使って:-
SELECT * from productinfo WHERE products like "66523,%" OR products like ",66523,%" OR products like "%,66523"
66523, + something.
OR , + 66523, + something.
OR something + 66523
(最後の番号)を含むものと一致します。整数が一致することを確認します。