您的位置:首页 > 数据库 > MySQL

解决mysql不区分大小写的问题

2018-04-01 13:55 260 查看
项目在上线测试的时候,测试那边尝试创建了一个产品hbb,提示失败,但是这个产品系统中实际是没有的。为此我们定位了一下,发现存在一个HBB。然后重复测试发现这里的判断好像没有区分大小写。查找了资料发现默认是不区分大小写的。如果要区分需要主动添加一些参数:

一般情况下mysql不区分大小写
mysql> select * from product where _name = 'hbb';
+-----+-------+-------+------------+
| _id | _name | _desc | _is_active |
+-----+-------+-------+------------+
|  74 | HBB |       |          1 |
+-----+-------+-------+------------+
1 row in set (0.00 sec)

这在一定程度上会影响用户的使用和数据的正确性。

怎么处理?
在查询的时候添加一个binary字段即可
mysql> select * from product where binary _name = 'hbb';
Empty set (0.00 sec)

mysql> select * from product where binary _name = 'HBB';
+-----+-------+-------+------------+
| _id | _name | _desc | _is_active |
+-----+-------+-------+------------+
|  74 | HBB  |       |          1 |
+-----+-------+-------+------------+
1 row in set (0.00 sec)
而且这个不影响正常的使用
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: