download:拉钩教育-大前端高薪训练营 NEXT计划|定制未来|完结-猿人部落 (97yrbl.com)
where 1=1的作用
如果要问在SQL语句的where条件中多加1=1目的是什么,很简单:使得where条件语句永远为真。本质上就是虽然加了where条件,但实际上永远为真,也就相当于没有加任何约束条件。
使用该语句的场景主要是:动态构建SQL语句。
String sql = "select * from t_user where 1=1 ";
if(!b.equals("")){
sql += "and b='"+b+"'";
}
复制代码
在上述语句拼写时,使用where 1=1,当b不等于空时,可以直接拼接“and”语句,而不会导致语法错误。如果没有where 1=1,原来的SQL语句就变成(假设b传入了"abc"):
"select * from t_user where and b= 'abc' ";
复制代码
很明显,上述SQL语句会有语法错误。所以,之所以添加1=1,就是为了方便SQL拼接。
从另外一个角度来讲,不仅仅1=1可以这样使用,像:1<>2、2>1、'a'='a'等表达式,只要结果为true,都可以如此使用。
作者:程序新视界
链接:juejin.cn/post/706991…
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。