本帖最后由 逆风TO 于 2017-12-14 10:20 编辑
在我们使用MySQL数据库进行查询时,如果条件是aaa或者aaA或者AAA都能查到同样的数据,说明MySQL的查询其实对大小写是不敏感的。那么在有些时候我们在查询数据的时候是需要严格区分大小写的,那我们该如何来进行查询呢?
在通过查询相关的资料,我们可以知道MySQL的collate规则有: *_bin: 表示的是binary case sensitive collation,也就是说是区分大小写的
*_cs: case sensitive collation,区分大小写
*_ci: caseinsensitive collation,不区分大小写 那么解决大小写问题就有以下的方法: 方法1:修改表的校对规则为"*_bin",这种修改对表中的所有字段有效。例如: ***修改表的校对: alter table custome character set utf8 collate utf8_bin; 查询演示:a1.png
方法2:建表或者修改表字段的collate为"*_bin",这种修改对当前列有效 alter table custome modify column cname varchar(20) binary character set utf8 collate utf8_bin; 查询演示:a2.png
方法3:在查询的时候,给需要的列添加binary关键字修饰 select * from custome where binary orderid = 'abc0001'; 查询演示:a3.png
|