2017-08-18 10 views
0

問題があります。私は仕事でWindowsを使って開発していますが、サーバーはLinuxです。私はしばしばデータベースクエリを扱います。Windows MySQLの大文字小文字の区別

ここでは、テーブル名を間違った大文字で入力することがよくあります(最初の3文字が大文字の場合は小文字になります)。 Windowsでは大文字と小文字の区別をどのようにすることができますか?

私は現在

interactive-timeout 

lower_case_table_names=1 

を入れて試してみましたそして、私はまた

interactive-timeout 

lower_case_table_names=0 

を入れて試してみました

これらのどれもうまく動作せず、Linuxでバグが発生するWindowsではスクリプトが正常に動作します。

答えて

0

Linuxファイルシステムのためです。 データベースに作成されたすべてのテーブルは、Linuxシステム上で対応するファイルを作成します。 Linuxのファイルシステムでは、大文字と小文字が区別されます。したがって、SQLのクエリテーブル名では、Linuxでは大文字と小文字を区別する必要があります。

はすでにここに答え:MySQLで

Are table names in MySQL case sensitive?

を、データベースはデータディレクトリ内のディレクトリに対応します。データベース内の各テーブルは、データベースディレクトリ内の少なくとも1つのファイルに対応しています。したがって、基盤となるオペレーティングシステムの大文字と小文字の区別は、データベース名とテーブル名の大文字と小文字の区別に影響します。

+0

しかし、Windowsでは大文字と小文字を区別することができません。 –

+0

これは私が[MySQL-リファレンス](https://dev.mysql.com/doc/refman/5.7/en/identifier-case-sensitivity.html)を理解している限り可能ではありません – MatSnow

+0

あなたがわかっていれば分かりませんデータベースの名前、テーブル名、トリガ名の大文字と小文字を区別するために使用されます。これは、Windowsでは大文字と小文字が区別されませんが、ほとんどの種類で大文字と小文字が区別されることを意味しますUnixの。 –

関連する問題