1. 程式人生 > >mysql查詢的時候不區分大小寫的解決方法

mysql查詢的時候不區分大小寫的解決方法

在登入賬號的時候發現,自己的賬號某個字母明明是大寫,但輸入小寫也查詢出來了,後來發現這是因為mysql在查詢的時候,預設是不區分大小寫的,對此有三種結解決方法

第一種:在建表時就加上區分大小寫的屬性,比如:

create table `usertable`( 

 `id` varchar(32) binary,

 PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8; 

 或者

CREATE TABLE `usertable` ( 
 `id` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '', 
 PRIMARY KEY (`id`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8;


但是這種方法對於很多朋友來說為時已晚,因為此時表已經建好,並且有陣列在裡面,不能隨意刪除,此時就只能採用第二種或第三種方法了。

方法二:修改欄位屬性,讓其預設區分大小寫,例如:

ALTER TABLE TABLENAME MODIFY COLUMN COLUMNNAME VARCHAR(50) BINARY CHARACTER SET utf8;

方法三:在查詢的時候通過BINARY關鍵字進行查詢區分,例如:

SELECT * FROM `tableName` WHER binary `fieldName`='Abc';