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

来源:2-6 列表查询

慕粉4039862

2017-01-05 00:29

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

写回答 关注

3回答

  • D明日边缘
    2017-04-22 22:35:53

    动态拼接确实很有深意

  • 麦乡长
    2017-01-10 22:21:06

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

  • 大爱我小宝哥
    2017-01-06 14:47:21

    不用空格的话,拼接出来的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

    D明日边缘

    good

    2017-04-22 22:31:14

    共 1 条回复 >

通过自动回复机器人学Mybatis---基础版

微信公众号自动回复功能学习Mybatis,基础教程加案例实战方式学习

107412 学习 · 786 问题

查看课程

相似问题