MySQL クエリを否定する最善の方法は何ですか。つまり、どのような条件であっても、強制的にレコードを返さないようにします。
うまくいくと思われるものを使用AND 1=0
しましたが、このような標準があるかどうか知りたいです。
false
条件を追加するだけです
select * from your_table where false
常に評価されるインライン述語を追加することFALSE
は、私にとって最良の方法のようです。「インライン」とは、バインド変数を使用しないことを意味します。または、使用することもできます
LIMIT 0
これには、より表現力があるという利点がありますが、クエリ オプティマイザーの実装によっては、遅くなる可能性があります (未確認)。
も使用できますAND false
。2 つのオプションにパフォーマンスの違いがあるかどうかはわかりません。
定数式「1 = 0」は、実行前に「false」に評価されます。これは、実行前に「0」の単なるエイリアスであるため、最終結果を提供することでMySQLが式を評価するのを防ぐと、より高速で読みやすくなります。
AND FALSE