为了账号安全,请及时绑定邮箱和手机立即绑定

sql.append(" and DESCRIPTION like '%' ? '%'");mysql拼接为什么要用空格拼/?where 1= 1有什么意义

描述的模糊查询一直查不出来,原来就是?问号的前面和后面少了个空格

正在回答

4 回答

动态拼接确实很有深意

0 回复 有任何疑惑可以回复我~

不写1=1要多写很多逻辑来判断是否要拼接and

0 回复 有任何疑惑可以回复我~

不用空格的话,拼接出来的sql语句会报错,like是模糊查询的关键字,至于写的问号是因为用了sql预编译,防止sql注入。where 1=1 是动态拼接sql语句用的,避免sql语句出错,进行条件查询的时候必须要使用where关键字,假如没有1=1,用户没输入任何值的时候,此时的sql语句是 sql是select * from command where;这样的话,sql语句就有问题;只有加上1=1才是一条完整的sql语句,因为1=1是永远成立的,所以select * from command where 1=1 就相当于 select * from command

5 回复 有任何疑惑可以回复我~
#1

D明日边缘

good
2017-04-22 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

sql.append(" and DESCRIPTION like '%' ? '%'");mysql拼接为什么要用空格拼/?where 1= 1有什么意义

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信