为什么有人会在SQL子句中使用WHERE 1=1和<初始条件>?为什么有人会用WHERE 1=1 AND <conditions>在SQL子句中(通过串连字符串获得的SQL或视图定义)我在某些地方看到,这将用于防止SQL注入,但这似乎非常奇怪。如果有注射WHERE 1 = 1 AND injected OR 1=1会有同样的结果injected OR 1=1.稍后编辑:视图定义中的用法如何?谢谢你的回答。不过,我还是不明白为什么有人会用这个构造来定义视图,或者在存储过程中使用它。举个例子:CREATE VIEW vTest ASSELECT FROM Table WHERE 1=1 AND table.Field=Value
3 回答
明月笑刀无情
TA贡献1828条经验 获得超4个赞
and <condition>
1=1
and
1=1
杨魅力
TA贡献1811条经验 获得超6个赞
dim sqlstmt as new StringBuilder sqlstmt.add("SELECT * FROM Products")sqlstmt.add(" WHERE 1=1") ''// From now on you don't have to worry if you must ''// append AND or WHERE because you know the WHERE is thereIf ProductCategoryID <> 0 then sqlstmt.AppendFormat(" AND ProductCategoryID = {0}", trim(ProductCategoryID))end ifIf MinimunPrice > 0 then sqlstmt.AppendFormat(" AND Price >= {0}", trim(MinimunPrice))end if
凤凰求蛊
TA贡献1825条经验 获得超4个赞
添加回答
举报
0/150
提交
取消