質問:
MySQL 変数を定義するにはどうすればよいですか? 「NOT IN」句で使用する値のリスト。事実上、句から複数の値を除外します。 query?
答え:
値のリストを使用して "NOT IN" 句を構築する場合、リスト全体をクエリ内の単一の文字列として使用することを避けることが重要です。句。 MySQL はこれを統一された文字列としてコンパイルしますが、「NOT IN」句には個別の値が必要です。次の例を考えてみましょう:
WHERE id_campo NOT IN (@idcamposexcluidos)
これは次のようにコンパイルされます:
WHERE id_campo NOT IN ('817,803,495')
ただし、正しい構文は次のようになります:
WHERE id_campo NOT IN ('817', '803', '495')
これを克服するには、 2 つの一般的なアプローチ:
WHERE FIND_IN_SET(id_campo, @idcamposexcluidos) = 0
重要です「id_campo」列にインデックスが使用されている場合、FIND_IN_SET() 関数を使用するとパフォーマンスに影響を与える可能性があることに注意してください。
以上が値のリストで MySQL の「NOT IN」句を使用する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。