【发布时间】:2018-04-24 13:48:08
【问题描述】:
我在我的一个项目中使用 SQLLite.Net-PCL 3.1.1,在 SQLite 中创建表时遇到了“SQLite.SQLiteException:重复列名” 问题。
原因是因为我的父类(我不拥有它)有一个名为 "ID" 的列。我的界面有一个名为 "Id" 的列,注意大小写。
我通过将以下代码行添加到派生类中解决了这个问题:
[Ignore]
public new long ID { get; set; }
[Ignore] 属性阻止将“ID”列添加到我的 SQLite 数据库中,这解决了我的问题。
我的问题是:SQLite 中的列名不在设计上区分大小写还是这是一个错误?
【问题讨论】:
-
我认为列名不区分大小写,但即使它们区分大小写,使用相同的名称也会在 IMO 上引起麻烦。
-
它们不区分大小写,除非您在引用中引用它们。所以
select id from table和select "ID" from table是不一样的。可能与这里有关。 stackoverflow.com/a/19933159/2193107 -
SQL 语言是这样定义的。
标签: sqlite sqlite.net