1. 程式人生 > >解決mysql不區分大小寫的問題

解決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)
而且這個不影響正常的使用