SELECT * FROM users WHERE limits LIKE '%2%';
文章插图
这样第二条数据不具有权限'2'的用户也查出来了,不符合预期 。下面利用mysql 函数find_in_set()来解决 。
SELECT * FROM users WHERE FIND_IN_SET(2,limits);
文章插图
这样就能达到我们预期的效果,问题就解决了!
注意:mysql字符串函数 find_in_set(str1,str2)函数是返回str2中str1所在的位置索引,str2必须以","分割开 。
总结:like是广泛的模糊匹配,字符串中没有分隔符,Find_IN_SET 是精确匹配,字段值以英文”,”分隔,Find_IN_SET查询的结果要小于like查询的结果 。
推荐阅读
- Oracle数据库&MySQL与Oracle的区别
- 关于电脑族喝茶的那些事你懂得
- 关于西湖龙井茶的作用介绍
- 一文搞懂MySQL的Join,聊一聊秒杀架构设计
- Mysql无法启动情况下,如何恢复数据?
- 腾讯云服务器上安装mysql,并用navicat连接
- 在使用mysql数据库时,遇到重复数据怎么处理?
- 文后分别附成人和孩子良好睡眠的标准 关于睡眠的3个真相
- 关于 5G 基站的答案,你想要的的都在这里了!| 2020 中国 5G 基站建设报告
- MySQL从入门到进阶,看这一篇文章就够了