av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

基于mysql 默認排序規則的坑

瀏覽:6日期:2023-10-06 10:02:51

mysql默認varchar類型是對大小寫不敏感(不區分),如果想要mysql區分大小寫需要設置排序規則:

utf8_bin將字符串中的每一個字符用二進制數據存儲,區分大小寫。

utf8_genera_ci不區分大小寫,ci為case insensitive的縮寫,即大小寫不敏感。

utf8_general_cs區分大小寫,cs為case sensitive的縮寫,即大小寫敏感。

用utf8_genera_ci沒有區分大小寫,導致這個字段的內容區分大小寫時出問題,比如作為區分大小寫的code或者驗證碼時就出問題了。

utf8_general_cs這個選項一般沒有,所以只能用utf8_bin區分大小寫。

1)設置排序規則是可逆的,如果之前設置的排序規則不符合,更換排序規則后,可能出現亂碼,當再次恢復原來的排序規則后,亂碼即消失。

2)可以將varchar 類型改為 varbinary

3)如果已經使用了默認的排序規則,即utf8_genera_ci,而又想查詢結果大小寫區分,可以在查詢時進行限定:

select binary column from table;

或者

select column2 from table where binary cloumn;

補充:mysql中的字符集和排序規則

字符集:

字符是各種文字和符號的總稱,字符集就是字符的集合。常見字符集名稱:ASCII字符集、GB2312字符集、BIG5字符集、GB18030字符集、Unicode字符集等。

計算機要識別各種字符集文字,就需要字符編碼。所以有些字符集一個字符是2個字節,有些字符集一個字符是3個字節。

排序規則:舉例

utf_bin和utf_general_ci這兩者到底有什么區別。

ci是case insensitive, 即'大小寫不敏感',a 和 A 會在字符判斷中會被當做一樣的;

bin是二進制, a 和A 會別區別對待.

utf8_general_ci不區分大小寫,這個你在注冊用戶名和郵箱的時候就要使用。

utf8_general_cs區分大小寫,如果用戶名和郵箱用這個 就會照成不良后果

utf8_bin:字符串每個字符串用二進制數據編譯存儲。區分大小寫,而且可以存二進制的內容

所以排序規則主要說明了是否大小寫敏感和存儲方式。

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。如有錯誤或未考慮完全的地方,望不吝賜教。

標簽: MySQL 數據庫
相關文章:
主站蜘蛛池模板: 天堂中文在线观看 | 国产毛片av | 日本久久福利 | 久久精品中文字幕 | 久久久久久免费毛片精品 | 欧美精品第一区 | 欧美日韩国产在线观看 | 国产精品久久久久久久久 | 中文字幕一区二区三区四区五区 | 在线精品一区二区三区 | 免费国产一区 | 久久国产精品免费视频 | 欧美日韩亚洲国产综合 | 男女羞羞视频在线观看 | 国产成人免费在线 | 国产色99精品9i | 一级久久久久久 | 国产精品久久久久久高潮 | 美女日皮网站 | 日韩三级在线 | 日本中文字幕一区 | 亚洲欧美国产毛片在线 | 久久精品亚洲 | 国产成人精品一区二区 | 亚洲精品一区中文字幕乱码 | 精品久久久久久亚洲精品 | 国产精品久久久久久久久久久免费看 | 性高湖久久久久久久久 | 五十女人一级毛片 | 91在线一区| 成人免费黄视频 | 一区二区三区四区在线免费观看 | 九九热九九| 国产高清无av久久 | 日本福利视频免费观看 | 永久免费在线观看 | 激情五月婷婷 | 欧美日本亚洲 | 国产精品久久久久久久久久尿 | 日韩在线视频精品 | 久久小视频 |