如何理解SQL中的WHERE 1=1,不是很理解这个东西,能否详细介绍,有点例子更好,谢谢!
只是为了加上 where, 如果 1=1 后面的条件都为空的话,执行sql语句不会报错。
就是一个恒成立的条件,这是一种技巧,在拼接SQL条件时,如果不确定后面是否哟与条件and的时候,加上1=1恒成立条件,就能保证后面再拼接and条件时不会错。
支持1楼,这是一个恒成立的条件,有时候为了获得表结构方面也会使用1=1,在写后台baseDao的时候经常用到。这样就可以将where后面的条件当参数传入了。
使用场景是:动态拼sql语句 where 关键词 后面的筛选 是 通过判断 动态添加的,如果where 后面没东西,就会报错,加上1=1,后面无论有没有查询条件,都不会报错
除了动态拼SQL以外,如果想暂时停用这个SQL语句、只能删除或注释掉,比较麻烦。直接将1=1改成 1!=1,此语句直接返回空
1=1 只有再 有拼接SQL语句的需求的时候,才会用, 是为了防止 where后面 没有筛选条件;
但是1=1不要随便使用,会略微降低查询效率
这是为了动态sql后面的条件语句不成立时,防止sql语句报错做的一个办法;1=1就是一个恒成立的条件;
如果后面没有其他条件的会,不需要。如果有的话,对于每一个条件,都可以方便的拼接 and 字段1=值。
select * from a where 1=1 &[whereparam]
而whereparam 中是否有 and等等的都不会影响sql语句的正常运行