2011-12-18 48 views

回答

76

請按照下列步驟操作:

  1. 打開MySQL配置文件:[驅動器] \ XAMPP的\ mysql的\ BIN \ my.ini的
  2. 擡頭爲:# The MySQL server [mysqld]
  3. 在它下面添加這一權利:lower_case_table_names = 2
  4. 保存文件並重新啓動MySQL服務

來源:http://webdev.issimplified.com/2010/03/02/mysql-on-windows-force-table-names-to-lowercase/

+0

最後,我解決了這個問題:我在my.ini的mysqld部分添加了lower_case_table_names = 2。然後刪除並重新創建數據庫。現在在它的兩個數據庫中起作用。但不在第三!這隻包含意見。它們始終使用小寫名稱創建。爲什麼? – Alex 2014-09-29 15:26:55

+0

我剛剛意識到:我使用dumpfile或sql文件創建表時保留了camelCaseNames。但是:視圖的名稱總是被強制爲小寫。在所有數據庫中。我該如何解決這個問題? – Alex 2014-09-29 15:29:54

+0

o.k.,明白了:爲了在表名和視圖中使用camelCaseNames,lower_case_table_names必須是0 – Alex 2014-09-29 15:51:29

1

尋找一個在您的硬盤命名爲my.ini文件,在我的系統是在

c:\program files\mysql\mysql server 5.1 

如果它不MY.INI應該my.cnf文件

+1

從http://stackoverflow.com/questions/17896829/mysqls-lower-case-table-names-我找到了這個路徑中的文件:C:\ ProgramData \ MySQL \ MySQL Server 5.6 – 2014-10-10 04:12:34

7

嘗試添加/編輯的lower_case_table_names = 2 my.inimy.cnf

1

如果你有文件my-default.ini其重命名爲my.ini

10

在Linux上我不能設置lower_case_table_names2(它恢復爲0),但我可以將其設置爲1

更改此設置之前,請先完成所有數據庫的轉儲,然後刪除所有數據庫。在將lower_case_table_names設置爲1後,您將無法刪除它們,因爲數據庫或表名中的任何大寫字符都將阻止它們被引用。

然後將lower_case_table_names設置爲1,重新啓動MySQL並重新加載數據,這會將所有數據轉換爲小寫,包括後續所有查詢。

+0

爲什麼不能在Linux中將lower_case_table_names設置爲2,是否有一個關於此的錯誤? – knocte 2016-06-30 06:55:11

6

從linux到Windows導入數據庫時​​出現同樣的問題。 它降低了數據庫名稱以及表名。 使用以下步驟解決同一問題:

  1. 在編輯器中打開c:\ xampp \ mysql \ bin \ my.ini。

#MySQL服務器

的[mysqld]

3。找到

的lower_case_table_names

和變化值至2


如果不是在此的[mysqld]部分的端部利用複製此。

的lower_case_table_names = 2

這必將工作。

0

也適用於Wampserver。 單擊綠色Wampserver圖標,選擇MySql,然後my.ini。 這將允許您打開my.ini文件。 然後 -

  1. 擡頭爲:#MySQL服務器的[mysqld]
  2. 在它下面添加這一權利:的lower_case_table_names = 2
  3. 保存文件並重新啓動MySQL服務

重要注意 - 添加lower_case_table_names = 2語句不是 [MySQL的]語句下,但根據的[mysqld]聲明

參考 - http://doc.silverstripe.org/framework/en/installation/windows-wamp