UNIXの場合、デフォルト値はlower_case_table_names
です。Windowsの場合、デフォルト値は1です.Mac OS Xでは、MySQL 4.0.18より前のデフォルトは1、4.0.18では2です。
これを修正するには、実行しているバージョンに応じて、C:\ Program Files \ MySQL \ MySQL Server 4.1内またはその周辺のmy.iniファイルのlower_case_table_namesの設定を探します。
lower_case_table_names=0
あなたがかどうかをテストする前に、MySQLサービスを再起動するのを忘れないでください:あなたは、設定が見つからない場合は、私がやったようには次のように、あなただけの、my.iniファイルの末尾に追加することができますできます。
プラットフォームを1つしか使用していない場合は、通常、lower_case_table_names変数をデフォルト値から変更する必要はありません。ただし、ファイルシステムの大文字小文字の区別が異なるプラットフォーム間でテーブルを転送する場合は、問題が発生することがあります。たとえば、Unixでは、my_tableとMY_TABLEという2つの異なるテーブルを持つことができますが、Windowsではそれらの名前は同じものと見なされます。データベースまたはテーブル名の文字の大文字から生じるデータ転送の問題を回避するには、次の2つのオプションがあります。
すべてのシステムでlower_case_table_names = 1を使用します。これの主な欠点は、SHOW TABLESまたはSHOW DATABASESを使用すると、元の文字の大文字の名前が表示されないことです。
Unixではlower_case_table_names = 0、Windowsではlower_case_table_names = 2を使用してください。これにより、データベース名とテーブル名の文字は保持されます。これの欠点は、Windows上で正しいステートメントがデータベースとテーブル名を常に参照していることを確認する必要があることです。あなたのステートメントをUnixに転送すると、大文字と小文字は区別されますが、大文字小文字が間違っていれば動作しません。
例外:InnoDBテーブルを使用していて、これらのデータ転送の問題を回避しようとする場合は、すべてのプラットフォームでlower_case_table_namesを1に設定して、名前を小文字に変換する必要があります。
Unixでlower_case_table_namesシステム変数を1に設定する場合は、まず古いデータベースとテーブル名を小文字に変換してからmysqldを停止し、新しい変数設定で再起動する必要があります。
設定がlower_case_table_names
呼ばれhttp://dev.mysql.com/doc/refman/4.1/en/identifier-case-sensitivity.html
これは興味深い質問です。 Unixベースのシステムではなく、WindowsでのSQLの作業のような問題を引き起こします。 AFAIK、そこから解決策はありません。 – Nishant