我是新来的SQLite和我试图运行下面的代码:SQLite的:INSERT INTO标识列
using (var cn = new SQLiteConnection("Data Source=:memory:;Version=3;")) {
cn.Open();
var cmd = cn.CreateCommand();
cmd.CommandText = "CREATE TABLE [ContentItems] ([Id] [int] IDENTITY(1,1) NOT NULL, [Title] [nvarchar](100) NOT NULL, CONSTRAINT [PK_ContentItems] PRIMARY KEY ([Id]))";
cmd.ExecuteNonQuery();
var cmd2 = cn.CreateCommand();
cmd2.CommandText = "INSERT INTO [ContentItems] (Title) VALUES ('Test 1')";
cmd2.ExecuteNonQuery();
}
但这给出了错误:
Abort due to constraint violation ContentItems.Id may not be NULL
我有通过文档查看,但基于我过去的SQL经验,我不明白为什么这不起作用。我会很感激的帮助。谢谢
你忘了自动增加位 – EaterOfCode
在SQLite中通常不需要显式自动增量ID列:http://www.sqlite.org/autoinc.html – reinierpost