MySQL的大小寫問題

來源:互聯網
上載者:User

  MySQL在linux下資料庫、表名、列名、別名的規則:

  1.資料庫名與表名是嚴格區分大小寫;

  2.表的別名是嚴格區分大小寫;

  3.變數名嚴格區分大小寫;

  4.列名與列的別名忽略大小寫。


  MySQL在windows下不區分大小寫。


原因:

  MySQL在查詢字串時是大小寫不敏感的,在編譯MySQL時一般以ISO-8859字元集座位預設的字元集,這個字元集對大小寫不敏感,因此在比較過程中中文編碼字元大小寫轉換造成了這種現象。


解決辦法:

  1.表名區分大小寫;

   在my.conf加入

  ower_case_table_names = 0

  0:區分大小寫  1:不區分大小寫


  2.欄位值設定BINARY屬性

    就可區分大小寫


下邊是我在項目中所遇到的問題:


 前幾天在做項目時(Linux環境),無意間手一抖,建立了兩個表名相同的資料庫,而在寫SQL查詢資料庫時,會出現

 select * from swxx_zxwd  和  select * from SWXX_ZXWD 

 兩種不同的結果。



 


  

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.