否定MySQL查询的最佳方法是什么,也就是说,无论什么条件,强制它都不会返回任何记录。
我使用AND 1=0
似乎有效,但我有兴趣知道是否有这样的标准。
答案 0 :(得分:1)
只需添加false
条件
select * from your_table where false
答案 1 :(得分:1)
添加始终评估为FALSE
的内联谓词对我来说似乎是最好的方法。通过" inlined",我的意思是你不使用绑定变量。或者,您可以使用
LIMIT 0
这具有更具表现力的优势,但取决于查询优化器实现,它可能更慢(未验证)
答案 2 :(得分:0)
您也可以使用AND false
。不知道这两个选项之间是否有任何性能差异。
答案 3 :(得分:0)
你的常数表达" 1 = 0"在执行之前,它将被评估为" false",这只是" 0"的别名,因此通过提供最终结果来保存MySQL不会通过评估表达式来更快更容易读:
AND FALSE