2)查询
select * from user where username = ‘abc‘;
结果如下:
查询username是"abc"的结果把"Abc"的也查询出来了。若需要区分大小写,需要进行配置。
2.解决办法
2.1方法一:查询时区分
在查询时,在where关键字后面添加binary关键字,那么就会区分大小写去查询。
select * from user where binary username = ‘abc‘;
2.2方法二:修改字段属性区分
字段默认的规则是ut8***_ci。以 “_ci" 结尾的表示不区分大小写,以 “_bin" 结尾的表示区分大小写。
修改需要区分大小写的字段的校对规则为utf8****_bin ,需要进行大小写区分
ALTER TABLE user MODIFY COLUMN username varchar(255) BINARY CHARACTER SET utf8 COLLATE utf8_bin;
修改后查询,便会区分大小写
select * from user where username = ‘abc‘;
2.3方法三:创建表时区分
在创建表时指定binary,那么可以直接查询,,也很方便。
CREATE TABLE `user` ( `username` varchar(255) binary DEFAULT NULL, `password` varchar(255) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
MySQL区分大小写
标签:div into char mod lazy 区分大小写 value table set