“SQLite.SQLiteException:重复的列名”是否列名不区分大小写?

问题描述:

我在我的一个项目中使用了SQLLite.Net-PCL 3.1.1,在SQLite中创建表时,我碰到了“SQLite.SQLiteException:重复的列名”问题。“SQLite.SQLiteException:重复的列名”是否列名不区分大小写?

原因是因为我的父类(我不拥有)有一个名为“ID”的列。我的界面有一个名为“Id”的列,请注意外壳。

我通过添加以下代码行到我的派生类解决了这个问题:

[Ignore] 
public new long ID { get; set; } 

凡[忽略]属性阻止添加到我的SQLite分贝的“ID”栏,其解决了我的问题。

我的问题是:在SQLite列名是否不是区分大小写的设计还是这个错误?

+0

我认为列命名是不区分大小写的,但即使它们区分大小写使用相同的名称将稍后在IMO中引起麻烦。 –

+1

除非您使用引号引用它们,否则它们不区分大小写。所以从表格中选择ID和从表格中选择ID是不一样的。可能与此有关。 https://*.com/a/19933159/2193107 – JBC

+0

这是如何定义SQL语言的。 –

在SQLite中,所有SQL标识符are case-insensitive(即使引用时)。