MySQL查询时默认不区分大小写
2014-08-22 10:41
253 查看
做项目的时候发现个问题,登录的时候不管是用大写还是小写,都能查出来相同的用户。比如用m1登录和用M2登录,都可以查出来m1用户(表里面存的是m1)。看了看代码没什么问题,在数据库里面运行了一下sql,发现MySQL默认查询竟然是不区分大小写的。
查了查资料,有如下两种解决方法:
1.可以将查询条件用binary()括起来。 比如: select * from TableA where columnA like binary('aaa');
2. 可以修改该字段的collation 为 binary
ALTER TABLE TABLENAME MODIFY COLUMN COLUMNNAME VARCHAR(50) BINARY CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL;
附:
*_bin: 表示的是binary case sensitive collation,也就是说是区分大小写的
*_cs: case sensitive collation,区分大小写
*_ci: case insensitive collation,不区分大小写
查了查资料,有如下两种解决方法:
1.可以将查询条件用binary()括起来。 比如: select * from TableA where columnA like binary('aaa');
2. 可以修改该字段的collation 为 binary
ALTER TABLE TABLENAME MODIFY COLUMN COLUMNNAME VARCHAR(50) BINARY CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL;
附:
*_bin: 表示的是binary case sensitive collation,也就是说是区分大小写的
*_cs: case sensitive collation,区分大小写
*_ci: case insensitive collation,不区分大小写
相关文章推荐
- mysql在默认的情况下查询不区分大小写
- MYSQL在默认的情况下查询是不区分大小写的
- MYSQL在默认的情况下查询是不区分大小写的
- mysql的like查询默认是不区分大小写的
- 使MySQL查询区分大小写的实现方法
- MySQL查询不区分大小写问题
- mysql查询不区分大小写问题
- 使MySQL查询区分大小写的实现方法
- MySQL查询时区分大小写的方法
- MySQL查询不区分大小写问题
- mysql 字段值默认不区分大小写
- 让Mysql在查询时区分大小写?
- 使mysql查询条件区分大小写 数据库搜索中大小写敏感性
- MySQL 默认校验规则不区分大小写
- 解决MySQL查询不区分大小写
- MySQL查询时区分大小写的方法
- MYSQL 查询区分大小写方法
- MSsql 查询时默认是不区分大小写。 可以用语句强制sql语句查询时区分大小写
- MySql 数据库查询区分大小写(创建数据库时)
- mysql查询区分大小写