ホームページ > データベース > mysql チュートリアル > 値のリストで MySQL の「NOT IN」句を使用する方法は?

値のリストで MySQL の「NOT IN」句を使用する方法は?

DDD
リリース: 2025-01-01 13:56:11
オリジナル
216 人が閲覧しました

How to Use MySQL's

「NOT IN」値リストの MySQL 構文

質問:

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 つの一般的なアプローチ:

  • 動的SQL: 正しい構文でクエリ文字列を構築し、個々の値が "NOT IN" 句内で指定されていることを確認します。
  • FIND_IN_SET: MySQL は FIND_IN_SET() 関数を提供します。これは次のように使用できます:
WHERE FIND_IN_SET(id_campo, @idcamposexcluidos) = 0
ログイン後にコピー

重要です「id_campo」列にインデックスが使用されている場合、FIND_IN_SET() 関数を使用するとパフォーマンスに影響を与える可能性があることに注意してください。

以上が値のリストで MySQL の「NOT IN」句を使用する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート