0

データベースを H2 から MySQL に変換しています。H2 がそのテーブルをエクスポートする方法は、すべて IN_UPPERCASE_CHARACTERS という名前です。照合はデータにのみ適用され、テーブル名を手動で置き換えることはできますか?

4

1 に答える 1

1

MySQL 照合は、データベース内の列の内容にのみ適用されます。それらは問題の要因ではありません。

列名、インデックス名などはすべて大文字と小文字が区別されません。

Windows および Mac HFS では、テーブル名はファイル名と同様に大文字と小文字が区別されません。Linux / BSD / Unix では、ファイル名と同様に大文字と小文字が区別されます。

これらすべてを使いこなすためにできることはたくさんあります。こちらをご覧ください。

http://dev.mysql.com/doc/refman/5.6/en/identifier-case-sensitivity.html

MySQL データベースが Windows (または Mac HFS) プラットフォームで実行されている場合は、おそらく何もしないでください。*nix ボックスにある場合は、テーブルの名前を変更して、クエリ コードと同じケースになるようにすることを検討してください。

 RENAME `TABLENAME` TO `tablename`

または、 を設定しlower_case_table_names=1、すべてのテーブルの名前を小文字に変更して、そこから移動することを検討できます。これにより、おそらくデータベースを使用するための最も回復力のあるコーディング環境が得られます。これにより、コード内のテーブル名の大文字と小文字が区別されなくなります。もちろん、名前の異なる 2 つのテーブルがtablecaseあり、TABLECASEこれは機能しません。

于 2013-09-23T21:29:02.643 に答える