最佳答案
为什么有人会在SQL子句中使用WHERE 1=1 AND <conditions>
(无论是通过连接字符串获得的SQL,还是视图定义)
我在某个地方看到过,这将用于防止SQL注入,但这看起来非常奇怪。
如果存在注入,WHERE 1 = 1 AND injected OR 1=1
将具有与injected OR 1=1
相同的结果。
稍后编辑:视图定义中的用法如何?
谢谢你的回答。
< p >, 我不明白为什么有人会使用这种结构来定义视图,或者在存储过程中使用它举个例子:
CREATE VIEW vTest AS
SELECT FROM Table WHERE 1=1 AND table.Field=Value