我今天在我们的数据库中遇到了一个视图,其中 where 子句中的第一个语句是where 1 = 1
. 这不应该对每条记录都返回 true 吗?如果不过滤任何记录,为什么有人会写这个?
Ben*_*enV 41
一些动态查询构建器包含此条件,以便可以添加任何“真实”条件,AND
而无需执行类似if (first condition) 'WHERE' else 'AND'
.
小智 5
如果您的程序中有许多生成类似查询的SQL 语句构建点,您可以通过这个技巧标记检查过的一个。如果句子是关于计数的,您可以使用下面的代码,以便您可以42
从 SQL 日志中提取出来。
select count(42) from table
Run Code Online (Sandbox Code Playgroud)