在我们日常使用ORM框架进行模糊查询时,会发现,搜索的结果是不区分关键字的英文大小写的,那这是为什么呢?
原因是MySQL的like本就不区分大小写;如果在建表的时候,没有设置好字段区分大小
//包含j和J的都会被搜索出来 select * from student_web where s_name like '%j%';
解决办法
- 通过修改MySQL的配置文件(永久)
- 通过binary关键字实现区分大小写(实时更改,侵入性小)
//包含j的会被搜索出来 select * from student_web where s_name like binary '%j%'
通过使用binary关键字可以让MySQL识别模糊查询关键字的英文大小写。