加入收藏 | 设为首页 | 会员中心 | 我要投稿 好传媒网 (https://www.haochuanmei.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

mysql中为什么要用where 1=1

发布时间:2021-12-28 11:36:15 所属栏目:MySql教程 来源:互联网
导读:这篇文章将为大家详细讲解有关mysql中为什么要用where 1=1,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 where 1=1; 这个条件始终为True,在不定数量查询条件情况下,1=1可以很方便的规范语句,1=1 是永恒成立的,意
mysql中为什么要用where 1=1
这篇文章将为大家详细讲解有关mysql中为什么要用where 1=1,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
 
where 1=1; 这个条件始终为True,在不定数量查询条件情况下,1=1可以很方便的规范语句,1=1 是永恒成立的,意思无条件的,也就是说在SQL语句中有没有这个1=1都可以。
 
如:web界面查询用户的信息,where默认为1=1,这样用户即使不选择任何条件,sql查询也不会出错。如果用户选择了姓名,那么where变成了where 1=1 and 姓名='用户输入的姓名',如果还选择了其他的条件,就不断在where 条件后追加 and语句就行了。
 
如果不用1=1的话,每加一个条件,都要判断前面有没有where 条件,如果没有就写where ...,有就写and语句,因此此时用1=1可以简化了应用程序的复杂度。
 
例如为不定数量的查询条件,我们在后台写查询的时候,类似于这样的语句 string sql ="select * from table where"
 
if(starttime!=null){
 
sql =sql+" starttime="+starttime
 
}
 
if(endtime !=null){
 
sql =sql+"and endtime ="+endtime
 
}
 
这时我们的查询语句就是 select * from table where starttime =2015-04-05 and endtime = 2015-04-07,查询语句正确
 
但是如果条件都不满足的话,语句就变成了 select * from table where ,这时候查询就会报错,
 
加上1=1的时候
 
string sql ="select * from table where 1=1",
 
if(starttime!=null){
 
sql =sql+" and  starttime="+starttime
 
}
 
if(endtime !=null){
 
sql =sql+"and endtime ="+endtime
 
}
 
当两个条件成立的时候 select * from table where 1=1 and starttime =2015-04-05 and endtime = 2015-04-07, 语句正确
 
当两个条件不满足时 select * from table where 1=1 ,语句正确,会返回table表的所有数据
 
关于“mysql中为什么要用where 1=1”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

(编辑:好传媒网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读