SQL查询语句

select*fromAccountwhereuserId='123'anduserpwd='123'or1=1为什么可以返回所有值1=1是什么意思吖... select * from Account where userId='123' and userpwd='123' or 1=1
为什么可以返回所有值
1=1
是什么意思吖
展开
 我来答
hdj10000
2007-05-14 · TA获得超过148个赞
知道小有建树答主
回答量:275
采纳率:0%
帮助的人:0
展开全部
本题最重要的是就是你的SQL语句中的or字,这个逻辑运算符是相当重要的,它是“或”的意思,就是说在你的SQL查询语句where后面所列的条件中,不管它有多少个关系来限制它,只要有一个是正确的,那么SQL语句就会来执行它,你不是有一个1=1吗,这个是恒成立的!所以它会输出所有的结果,明白了吗?
萨依法
2007-05-14 · TA获得超过624个赞
知道小有建树答主
回答量:1301
采纳率:0%
帮助的人:832万
展开全部
1=1 永远都成立
因为你 最后 or 了一个 恒等式
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
z820212zg
2007-05-14
知道答主
回答量:1
采纳率:0%
帮助的人:0
展开全部
前面那个1是指第一个域(也就是列名),后面哪个是值。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zytiancai
2007-05-14 · TA获得超过105个赞
知道小有建树答主
回答量:76
采纳率:0%
帮助的人:40.7万
展开全部
谁写的SQL语句啊??1=1是一个真,而且还用or连接,就忽略前面的userid='123' and userpwd='123',意思就是where后面所有的条件都是真的,当然返回所有值了!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Geena_Pan
2007-05-14 · TA获得超过118个赞
知道答主
回答量:136
采纳率:0%
帮助的人:65.4万
展开全部
用处就是:就算没有查到“123”这条记录也会有结果显示,可以显示全部资料。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式