C# Sqlite数据库中的Int-Identity(1,1)字段

C# Sqlite数据库中的Int-Identity(1,1)字段,c#,visual-studio,sqlite,C#,Visual Studio,Sqlite,起初我使用SQl Server创建数据库,但现在我使用Sqlite创建数据库,我这样做是因为它只需要一个非常小的数据库,但在将数据库转换为Sqlite时,我遇到了一个问题,在SQl Server中,我只会使用: ID int identity(1, 1) 用于具有自动编号字段。这种方法不能在SQlite中使用,我想知道我应该怎么做,我已经尝试过这样的方法: create table settings(ID int autoincrement primary key, data text);

起初我使用SQl Server创建数据库,但现在我使用Sqlite创建数据库,我这样做是因为它只需要一个非常小的数据库,但在将数据库转换为Sqlite时,我遇到了一个问题,在SQl Server中,我只会使用:

ID int identity(1, 1)
用于具有自动编号字段。这种方法不能在SQlite中使用,我想知道我应该怎么做,我已经尝试过这样的方法:

create table settings(ID int autoincrement primary key, data text);
但这对我没有帮助。谢谢你抽出时间

编辑:

我得到的错误是:


SQL错误:SQL错误:仅允许在整数主键上自动递增

没有帮助如何?因为在SQLite for WinRT(最新版本)中,以下功能非常好:

CREATE TABLE IF NOT EXISTS Settings(
Id INTEGER PRIMARY KEY AUTOINCREMENT,
Data TEXT);

您是否尝试应用此常见问题解答中描述的解决方案?即
创建表设置(ID整数主键,b文本)
IDK why but for me
IDENTITY
在sqlite shell中运行良好:
CREATE TABLE[Person](ID int IDENTITY(1,1)不为null,CompositeID1 int不为null,CompositeID2 int不为null,constraint[pk_Person]主键(ID asc,CompositeID1 asc,CompositeID2 asc))
。我的SQLite版本
SQLite 3.22.0 2018-01-22 18:45:57 0c55d179733b46d8d0ba4d88e01a25e10677046ee3da1d5b1581e86726f2alt2 clang-8.0.8
我现在发现了某种错误:SQL错误:只允许在整数主数据上自动递增key@Mobstaa你有没有改变什么,或者用了我给你的剪子?因为
Id
实际上是整数,所以我看不出它在这个特定代码段上失败的原因正如我所提到的,我在WinRT应用程序上对4个表使用SQLite,每个表都有
int
autoincremented主键,一切都很好…这并不完全正确,但我现在使用的代码是:创建表设置(ID int主键AUTOINCREMENT,数据文本);它与区分大小写有关吗?@Mobstaa它与
int
有关。SQLite中没有
int
类型,有
integer
:)您必须键入
integer
,它不区分大小写。