キャメルケースを使用してmysqlテーブルの列名に名前を付け、同じキャメルケース名でこれらのmysqlテーブルからphpクラスを作成したいと思います。これらのphpクラスを自動的に生成します。アプリケーションを実行しているプラットフォームに関係なく、列名の大文字と小文字を区別できるかどうか疑問に思っています。たとえば、ある列名に「FirstName」という名前を付けた場合、データベースから列名を読み取ると「firstname」などが生成されることがありますか?
2 に答える
簡単な答えはノーです。
長い答えは、MySQLの一部の大文字と小文字の区別は、基盤となるオペレーティングシステムに依存するということです。(Unixは敏感なものです)
これは、 MySQLドキュメントの問題への参照です。
したがって、基盤となるオペレーティングシステムの大文字と小文字の区別は、データベース名とテーブル名の大文字と小文字の区別に影響します。つまり、データベースとテーブルの名前では、Windowsでは大文字と小文字が区別されず、ほとんどの種類のUnixでは大文字と小文字が区別されます。注目すべき例外の1つはMacOSXです。これはUnixベースですが、大文字と小文字を区別しないデフォルトのファイルシステムタイプ(HFS +)を使用します。
また、具体的には列名に関するドキュメントから:
列、インデックス、および格納されたルーチン名は、どのプラットフォームでも大文字と小文字を区別せず、列エイリアスもありません。トリガー名では大文字と小文字が区別され、標準のSQLとは異なります。
MySQLでは、テーブル名と列名で大文字と小文字が区別され、キーワードでは大文字と小文字が区別されません。
ただし、Windowsは大文字と小文字を区別するだけであり、ファイル名はテーブル名であることに注意してください。(「Salesaccounts」を意味するときにテーブル「SalesAccounts」で作業している場合、WindowsではOKと表示され、Linuxでは失敗します。
やりたいことは大丈夫ですが、1)Linuxでテストし、2)使用しているツールをテストします。