SQL クエリで WHERE 1=1 AND
実行時に SQL クエリを動的に構築する場合、条件が 1 つ存在するか 0 つ存在するかを判断するのは不便な場合があります。 WHERE 1=1 AND
ビュー定義内のアプリケーション
ビュー定義のコンテキストでも、目的は同様です。条件を動的に接続する場合、最初の AND には条件を追加する必要があります。 1=1 から始めることで、既存の条件の数に関係なく、後続の条件を付けることができます。
例
次の例を考えてみましょう:
<code class="language-sql">CREATE VIEW vTest AS SELECT * FROM Table WHERE 1=1 AND table.Field=Value</code>
他の条件がなくても 1=1 から始めると、ビューの構築が簡素化されます。複数の条件がある場合は、AND を使用して条件を追加できます。
SQL インジェクション保護対策ではありません
一般に信じられていることに反して、WHERE 1=1 AND は SQL インジェクションを妨げません。 「1=1」 OR の形式で注入された条件は、注入コード単独の場合と同じ結果になります。
結論
要約すると、WHERE 1=1 AND
以上が動的 SQL クエリとビュー定義で「WHERE 1=1 AND」を使用するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。