内容简介:项目中遇到一个bug,查了一下问题在于mysql查询条件不区分大小写比如 test表里面存储了两列数据查询语句 select * from test where col0 = 'tmp'
项目中遇到一个bug,查了一下问题在于 mysql 查询条件不区分大小写
比如 test表里面存储了两列数据
col0 | col1 | col2 |
tmp | 1 | 1 |
TMP | 2 | 2 |
查询语句 select * from test where col0 = 'tmp'
两行都能搜索出来。第一次拿到这一个结果,我的内心是这样的:WTF、EXM、你TMD是来逗我的吧
但事实摆在面前,不能不认怂。下一步究其根本,这个答案很靠谱
以下引自:https://blog.csdn.net/Veir_123/article/details/73730751
Mysql默认的字符检索策略:utf8_general_ci,表示不区分大小写;utf8_general_cs表示区分大小写,utf8_bin表示二进制比较,同样也区分大小写 。(注意:在Mysql5.6.10版本中,不支持utf8_genral_cs!!!!)
创建表时,直接设置表的collate属性为utf8_general_cs或者utf8_bin;如果已经创建表,则直接修改字段的Collation属性为utf8_general_cs或者utf8_bin。
直接修改 sql 语句,在要查询的字段前面加上binary关键字即可。
-- 在每一个条件前加上binary关键字
select * from test where binary col0 = 'tmp';
-- 将参数以binary('')包围
select * from test where col0 = binary('tmp');
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- C#.Net不区分大小写的字符串
- c# – 实体框架LINQ不包含不区分大小写
- go语言不区分大小写的导包,导致的debug 失败
- 如何使我的postgresql数据库使用不区分大小写的排序规则?
- EXT4补丁继续处理不区分大小写的文件名和编码
- java – spring-data mongo中的精确不区分大小写匹配
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
破茧成蝶:用户体验设计师的成长之路
刘津、李月 / 人民邮电出版社 / 2014-7 / 69.00
市面上已经有很多专业的用户体验书籍,但解决用户体验设计师在职场中遇到的众多现实问题的图书并不多见。本书从用户体验设计师的角度出发,系统地介绍了其职业生涯中的学习方法、思维方式、工作流程等,覆盖了用户体验设计基础知识、设计师的角色和职业困惑、工作流程、需求分析、设计规划和设计标准、项目跟进和成果检验、设计师职业修养以及需要具备的意识等,力图帮助设计师解决在项目中遇到的一些常见问题,找到自己的职业成长......一起来看看 《破茧成蝶:用户体验设计师的成长之路》 这本书的介绍吧!