论find_in_set(str,strlist) 参数单引号('')的重要性
来源:互联网 发布:安知玉如意txt网盘 编辑:程序博客网 时间:2024/05/28 11:50
问题点:
String guestId_filter = "0001"StringBuilder sql = new StringBuilder("select m from Message m where 1=1 ");String condition = " and find_in_set(" + guestId_filter + ", guestids)>0";sql.append(condition);System.out.println("sql = " + sql.toString());
打印的结果为 sql = select m from Message m where 1=1 and find_in_set(0001, guestids)>0
数据中有guestId 为0001这条记录,但用mysql 命令死活查不出来,如果将guestId_filter改为1000,又可以查找到guestId为1000的记录,到底是为啥呢?特么纠结了一个晚上!
分析中:
原来当这条语句传给mysql 执行时,0001这个参数被强转成整型1, 所以这条命令就变成了
`sql = select m from Message m where 1=1 and find_in_set(1, guestids)>0`
所在当然就检索不到0001这条记录了。。。。。。。。
解决方法:
将guestId_filter用单引号(”)括起来即可
String guestId_filter = "0001"StringBuilder sql = new StringBuilder("select m from Message m where 1=1 ");String condition = " and find_in_set('" + guestId_filter + "', guestids)>0";sql.append(condition);System.out.println("sql = " + sql.toString());
打印的结果为 sql = select m from Message m where 1=1 and find_in_set('0001', guestids)>0
即可成功查询到guestid为0001这条记录。
0 0
- 论find_in_set(str,strlist) 参数单引号('')的重要性
- find_in_set(str,strlist)
- FIND_IN_SET(str,strlist)函数
- MySQL FIND_IN_SET(str,strlist)函数
- 关于FIND_IN_SET(str,strlist)函数
- mysql函数:IF(expr1,expr2,expr3) 和 FIND_IN_SET(str,strlist) 用法
- ajax传递的参数值包含单引号
- HTTP参数中Etag的重要性
- HTTP参数中Etag的重要性
- HTTP参数中Etag的重要性
- HTTP参数中Etag的重要性
- HTTP参数中Etag的重要性
- 论分号的重要性、、、、、
- 论安全的重要性
- 论技术的重要性。。。。。
- 论备份的重要性
- 论学习的重要性
- 论记录的重要性
- Windows7下安装React Native开发环境
- 最长回文子串的输出
- msyql 删除带横杠名字的数据库 用tab 上面的 ` 例如 drop database `test-1-2`
- socket 聊天室
- css伪元素实现有序编号
- 论find_in_set(str,strlist) 参数单引号('')的重要性
- Java多线程之互斥
- 基于SpringBoot 开发
- java堆内存、栈内存、方法区
- 每N个数反转
- requirejs初体验
- Android提高后台服务进程优先级
- android studio使用过程中遇到的问题
- POJ P2442 Sequence