mysql查詢的時候不區分大小寫的解決方法
阿新 • • 發佈:2019-02-10
在登入賬號的時候發現,自己的賬號某個字母明明是大寫,但輸入小寫也查詢出來了,後來發現這是因為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';