2017-11-11 13 views
0

私のプロジェクトの1つでSQLLite.Net-PCL 3.1.1を使用していますが、"SQLite.SQLiteException:duplicate column name"にSQLiteでテーブルを作成すると問題が発生しました。"SQLite.SQLiteException:重複する列名"大文字と小文字は区別されませんか?

理由は私の親クラス(私が所有していない)が"ID"という名前の列を持っているからです。私のインターフェイスには"Id"という名前の列があります。ケーシングに注意してください。

私は私の派生クラスに次のコード行を追加することで、この問題を解決:

[無視]属性は私の問題を解決し、私のSQLiteのDBに追加されることから、「ID」欄を防ぐ
[Ignore] 
public new long ID { get; set; } 

質問:SQLiteの列名はではないはデザインによって区別されるか、これはバグですか?

+0

私は名前が大文字小文字を区別しないと思いますが、大文字と小文字を区別しても同じ名前を使用していても、後でIMOで問題が発生する可能性があります。 –

+1

引用符で参照しない限り、大文字と小文字を区別しません。したがって、 'select id from table'と' select "ID" from table "は同じではありません。おそらくここでは関係があります。 https://stackoverflow.com/a/19933159/2193107 – JBC

+0

これはSQL言語の定義方法です。 –

答えて

0

SQLiteでは、すべてのSQL identifers are case-insensitive(引用符で囲んでも)です。

関連する問題