为什么有WHERE 1=1?

来源:互联网 发布:青浦名女艳照热传网络 编辑:程序博客网 时间:2024/05/09 05:49

 

  看到SQL语句的后面总跟着WHERE 1=1,挺费解的,到上网查了一圈,

  原来这个是为了"主要是用于在程序中后续动态连接条件!",这是啥意思呢?

  

比如:

  String sql="SELECT * FROM user WHERE 1 = 1 "; 


  if(username!=null) sql=sql+ " AND username='"+username+"'"; 

  if(password!=null) sql=sql+ " ANDpassword='"+password+"'"; 

 

  即使username, password有一个是null,或者都是null,这个SQL也是没有问题的,

  假设没有这个WHERE 1=1的话,那么就会麻烦不少.