IDのリストがあり、カンマ区切りで文字列として保存されています。
123,456,789
以前は、次のようなものを使用して、各IDが存在するデータベースの各行のデータをプルしていました。
SELECT id, name FROM line_item WHERE id IN (123,456,789)
ただし、データベースに存在しないIDのみを特定したいと思います。たとえば、テーブルをチェックして、DBに存在しない提供されたすべてのIDを返します。
私はNOT IN
それがうまくいくと思ってみましたが、もちろん、私が得たのは私のサンプルと一致しないすべてのIDであり、それは膨大でした(数千行、通常チェックする必要のあるIDの数が少ない)。
SELECT id FROM line_item WHERE id NOT IN (123,456,789)
例えば:
テーブル:ID
111
222
333
444
555
777
999
弦:
111,222,666,888,999
クエリは次を返す必要があります:
666,888
MySQLを使用して、PHPを使用しないと存在しない値を見つけることができますか?