【发布时间】:2012-01-11 16:14:25
【问题描述】:
可能重复:
Why would someone use WHERE 1=1 AND <conditions> in a SQL clause?
我正在编写一个经常有的代码库
where 1=1
通常,这些查询很复杂且难以阅读。因此,仅仅为了重构而分解查询语义并不总是可行的。我的直觉是,这总是不必要的。在执行SELECT 时,可能存在对 where 子句的要求,类似于对 Group By 子句的要求,其中包含要分组的某个列旁边的聚合函数。
有这个需求吗?
【问题讨论】:
-
是的,它对容易发生 sql 注入的网站非常有用;)
-
我在 SO 上看到过这个确切的问题一两次,可能需要更多地注意输入问题标题时出现的建议问题列表。
-
其中 1=1 是 100% 正确的语句。因此,无论您在 SELECT 语句中是否有行,都将返回。
标签: sql