在Where语句后加上一个 1=1 是什么意思?

在Where语句后加上一个 1=1 是什么意思?可具体说明一下吗?
---------------------------------------------------------------

1=1代表永远为"真"
---------------------------------------------------------------

某些程序要求至少循环一次,所以用到永真式(比如:1=1,true=true)来保证
根据循环体内的设置添加退出变量,可以在满足一定条件时退出循环。
不知是否回答了你的问题?

---------------------------------------------------------------

这样写一般是为了以后增加 "and" "or"

用于实现复杂的搜索功能
---------------------------------------------------------------

where后面总要有语句,加上了1=1后就可以保证语法不会出错
假如后面确定有条件语句,就可以不用1=1;
不能确定where后面是否有语句的时候就要加上1=1了,当没有其他条件语句时候,还有1=1,就不会输错了 。
---------------------------------------------------------------

我认为是这样的,前面的1表示的是数据库表的第一个字段,后面的1是一个值
---------------------------------------------------------------

前面的1和后面的1都是一个值,不是数据库表的字段。
---------------------------------------------------------------

那也应该是where [1]=1 把
---------------------------------------------------------------

其实都一样的。只要=号两边的值是一样,就永远为真值,其实where (1=1) 这个语句可以执行更复杂的数据库搜索,比如你可以实现组合查询。
---------------------------------------------------------------

[]内代表字段名
---------------------------------------------------------------

where后面总要有语句,加上了1=1后就可以保证语法不会出错!

假如后面确定有条件语句,就可以不用1=1;
不能确定where后面是否有语句的时候就要加上1=1了,当没有其他条件语句时候,还有1=1,就不会输错了 。
例子:
SQL="SELECT * FROM TABLE WHERE 1=1 "&WHERE_STR
WHERE_STR是根据前面填入的得到的一个串.这样就不用管是否为空,都不会出现错误.就这点技巧了。

这才是正解 :)

Published At
Categories with Web编程
Tagged with
comments powered by Disqus