データをオンザフライで生成したスキーマにインポートするツールを開発しています。したがって、テーブル名や列名がどのように見えるかはほとんど制御できません。私は最近、同じ名前を持っているが大文字と小文字が異なる2つの列をテーブルに作成する問題にぶつかった。問題は、この最も簡単なDDL操作で実証することができ:二重引用符を付けるとH2テーブルの列が大文字小文字を区別しない
CREATE TABLE "a" (
"c1" integer,
"C1" integer
)
これは、とのプログラムだけでなく、H2コンソールに私のために失敗します。
重複列名「C1」; SQL文:「」(「C1」 整数、「C1」の整数)のテーブルを作成
これは、例えばPostgreSQLでは正常に動作していると私はそれがSQLの仕様として動作するはずだと思うの値は大文字と小文字の区別が必要です二重引用符。
私は現在、メモリ内のh2データベースを使用しています。
EDITは:それは理由は、接続が大文字と小文字を区別しませんH2名の中で、この動作
歓声を引き起こしたオプションDATABASE_TO_UPPER =偽で設立された彼が正しいと、私はEoinSを受け入れ –
をスポッティングためのおかげで答えて、列は大文字と小文字が区別され、彼は機能が働くことをdemontrated 。 –
ありがとう@JanZyka、私は問題が何だったのかはっきりしていませんでしたが、SQLが実行される前の何か、つまり前処理の問題であると考えました。もっと具体的になるように私の答えを更新し、将来のユーザーが最初に見ることができるように接続を言及します – EoinS