MySQL查询区分大小写敏感问题

2021-01-03   251 次阅读


由于mysql是不区分大小写的,所以当你查询的时候,例如数据库里有条数据用户名为UpYou(用户名唯一),当你输入:upyou时发现也可以查询,在某些需求下这样是不允许的,可以在查询语句中加入binary关键字过滤,例如

select id, username, password, type, createtime, comm from user where binary username = 'upyou'

以下是测试查询没有加binary执行的查询语句

没加binary的java代码

执行结果,可以看到返回的data为true,证明这个用户存在,我可以很确定这个用户并不存在

没加binary的结果

这是加了binary的查询
加了binary的java代码

执行结果
加了binary的查询结果

再试试正确的还好不好使

正确结果

Q.E.D.

知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议

2002年4月出生于广东省 2017年学习编程至今