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
兩種不同的結果。