mysql大小寫敏感的一個解決方案_MySQL
來源:懂視網
責編:小采
時間:2020-11-09 20:11:27
mysql大小寫敏感的一個解決方案_MySQL
mysql大小寫敏感的一個解決方案_MySQL:今天,有同事告訴我,我們游戲登陸的時候,賬號和密碼沒有區(qū)分大小寫,后來又發(fā)現(xiàn)創(chuàng)建賬號和角色也沒有區(qū)分大小寫。思考登陸流程之后,應該是Mysql沒有區(qū)分大小寫敏感的問題。在網上查了一下資料,Mysql支持大小寫敏感的解決方案。發(fā)現(xiàn)了幾種方案。第一、修改
導讀mysql大小寫敏感的一個解決方案_MySQL:今天,有同事告訴我,我們游戲登陸的時候,賬號和密碼沒有區(qū)分大小寫,后來又發(fā)現(xiàn)創(chuàng)建賬號和角色也沒有區(qū)分大小寫。思考登陸流程之后,應該是Mysql沒有區(qū)分大小寫敏感的問題。在網上查了一下資料,Mysql支持大小寫敏感的解決方案。發(fā)現(xiàn)了幾種方案。第一、修改
今天,有同事告訴我,我們游戲登陸的時候,賬號和密碼沒有區(qū)分大小寫,后來又發(fā)現(xiàn)創(chuàng)建賬號和角色也沒有區(qū)分大小寫。思考登陸流程之后,應該是Mysql沒有區(qū)分大小寫敏感的問題。
在網上查了一下資料,Mysql支持大小寫敏感的解決方案。發(fā)現(xiàn)了幾種方案。
第一、修改數(shù)據庫的設置,讓Mysql支持大小寫敏感,這個方案太激進了,數(shù)據庫數(shù)據太多,這樣改保不準會出什么問題。
第二、修改表結構和字符集,和第一種方案差不多,但是風險小一點。
第三、修改存儲過程或者SQL語句,好處是不動數(shù)據庫結構,缺點是涉及到的地方都的改。
權衡之后,還是選了第三種方案,只修改登錄和創(chuàng)建的2個存儲過程。
體方法是,使用mysql的binary關鍵字。
BINARY不是函數(shù),是類型轉換運算符,它用來強制它后面的字符串為一個二進制字符串,可以理解為在字符串比較的時候區(qū)分大小寫。
測試如下:
mysql> select binary 'ABCD'='abcd' ret1, 'ABCD'='abcd' ret2;
+--------+--------+
| ret1 | ret2 |
+--------+--------+
| 0 | 1 |
+--------+--------+
1 row in set (0.00 sec)
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com
mysql大小寫敏感的一個解決方案_MySQL
mysql大小寫敏感的一個解決方案_MySQL:今天,有同事告訴我,我們游戲登陸的時候,賬號和密碼沒有區(qū)分大小寫,后來又發(fā)現(xiàn)創(chuàng)建賬號和角色也沒有區(qū)分大小寫。思考登陸流程之后,應該是Mysql沒有區(qū)分大小寫敏感的問題。在網上查了一下資料,Mysql支持大小寫敏感的解決方案。發(fā)現(xiàn)了幾種方案。第一、修改