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

项目在上线测试的时候,测试那边尝试创建了一个产品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)
而且这个不影响正常的使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值