Mysql数据查询大小写不严格问题

2018-10-15  本文已影响0人  饿肚子吃瓜子
问题描述

  前两天测试部反馈一个BUG , 说用户名大小写都能登录成功,当时在网上了解了一下,需要修改数据库配置,可是当时已经下班了运维的人已经走了。然后又埋头找了一会, 之后就有了这篇文章的由来。

select * from `user` where `name` = 'admin' and `password` = '123456';
select * from `user` where `name` = 'Admin' and `password` = '123456';

userpasswordnickname
admin123456    老张

解决
  1. 建表时在字段后面加上 BINARY :
CREATE TABLE T( A VARCHAR(10) BINARY ); 
  1. 修改数据表字段方式 :
ALTER TABLE `tablename` MODIFY COLUMN `cloname` VARCHAR(255) BINARY; 

以上两种方法是以修改字段为二进制的方式解决大小写问题.

参考
上一篇下一篇

猜你喜欢

热点阅读