2017-04-10 20 views

回答

0

看起來你應該在Windows上設置lower_case_table_names=2(默認情況下它是1)。在這種情況下,表和數據庫名稱使用CREATE TABLE或CREATE DATABASE語句中指定的lettercase存儲在磁盤上,但MySQL在查找時將它們轉換爲小寫。

請參閱:http://dev.mysql.com/doc/refman/5.0/en/identifier-case-sensitivity.html瞭解詳細信息。

使用lower_case_table_names=1 on all systems。這樣做的主要缺點是,當您使用SHOW TABLES或SHOW DATABASES時,您看不到原始信箱中的名稱。使用lower_case_table_names=0 on Unixlower_case_table_names=2 on Windows。這保留了數據庫和表名的字母大小寫。這樣做的缺點是,您必須確保您的語句始終在Windows上使用正確的lettercase引用數據庫和表名。如果你將你的語句轉移到Unix中,那麼lettercase是有意義的,如果這個casecase是不正確的,它們就不起作用。

例外:如果您使用的是InnoDB表,並且您試圖避免這些數據傳輸問題,則應該設置lower_case_table_names to 1 on all platforms以強制將名稱轉換爲小寫。