否定MySQL查询

时间:2012-04-23 11:30:36

标签: mysql null

否定MySQL查询的最佳方法是什么,也就是说,无论什么条件,强制它都不会返回任何记录。

我使用AND 1=0似乎有效,但我有兴趣知道是否有这样的标准。

4 个答案:

答案 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