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