select * from 表名 where 1=1

这个1=1是代表的什么意思?... 这个1=1是代表的什么意思? 展开
 我来答
eule
推荐于2018-04-13 · TA获得超过255个赞
知道答主
回答量:83
采纳率:0%
帮助的人:66.2万
展开全部
1=1 代表true, 如果单独是这个sql语句,可以不写where 1=1。

但如果在程序中需要拼装sql语句。比如后面要加条件,就要写上这个。

主要是避免当不需要拼接sql语句时,上面这个sql语句会出错。
世界末日前后
2018-08-09 · TA获得超过319个赞
知道答主
回答量:200
采纳率:48%
帮助的人:17.5万
展开全部
相当于 select * from 表名 where true;
单独加上where 1=1是没有意义的,等同于select * from 表名;
但一般情况下用于在Dao层拼接字符串,比如:

String sql = "select * from 表名 where 1=1";
把String类型的字符串sql转换成StringBuilder后,
StringBuilder sb = new StringBuilder(sql);
使用append()方法,比如:

sb.append("and id=?");
sb.append("and name like ?");
再转回字符串String就行了:
sql = sb.toString();
所以它本身没有用,但拼接的话可以作为辅助使用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友94f02eb
2009-03-24 · TA获得超过8613个赞
知道大有可为答主
回答量:7955
采纳率:74%
帮助的人:4523万
展开全部
1=1 表示恒成立的条件 和 没有条件是一个效果

上面的语句等效于

select * from 表名
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
贰两毛尖
2009-03-24 · TA获得超过862个赞
知道小有建树答主
回答量:1102
采纳率:0%
帮助的人:886万
展开全部
可以吧 where 1=1 除掉,没实际意思,我个人认为
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
古老的情歌
2018-11-06 · TA获得超过2132个赞
知道小有建树答主
回答量:1064
采纳率:0%
帮助的人:197万
展开全部
列名为1的内容为1。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式