mysql區別大小寫我們只要在字段創建時這樣寫name varchar (20) binary,然后查詢時這樣寫binary `user`=’m.survivalescaperooms.com’即可解決,主要用到binary.
公司網站有需求對用戶名驗證要驗證大小寫,其實剛開始他注冊的時候就就都是大小寫,所以沒有必要做大小寫驗證了,但是現在要登陸的驗證大小寫,那在注冊的時候也要對此進行驗證.
但是MySQL在查詢字符串時是大小寫不敏感的,在編繹MySQL時一般以ISO-8859字符集作為默認的字符集,這個字符集對大小寫不敏感,因此在比較過程中中文編碼字符大小寫轉換造成了這種現象.
后來找到一個利用binary臨時解決辦法,代碼如下:
SELECT * FROM ·表名·WHERE binary `user`=’m.survivalescaperooms.com’
主要關鍵字binary 有它你就可以區分大小寫了,代碼如下:
create table 表名 ( name varchar (20) binary );
如果哪些字段需要區分大小寫在在設計表的就可以這樣寫.
解決辦法二,如果你可以修改my.ini配置可以如下解決大小寫問題.
A.表名區分大小寫,在my.conf加入:ower_case_table_names = 0
其中 0:區分大小寫,1:不區分大小寫
B.插入查詢時區分大小寫,字段值需要設置BINARY屬性,即可區分大小寫.
設置的方法有多種,創建時設置:
- CREATE TABLE T(
- A VARCHAR(10) BINARY
- );
使用alter修改,代碼如下:
ALTER TABLE `tablename` MODIFY COLUMN `cloname` VARCHAR(45) BINARY;
mysql table editor中直接勾選BINARY項.
新聞熱點
疑難解答