2011-12-15 82 views
15

我有以下的SQLite查询:SQLite的:自动增量主键的问题

CREATE TABLE Logs (Id integer IDENTITY (1, 1) not null CONSTRAINT PKLogId PRIMARY KEY, ... 
  1. IDENTITY (1, 1) - >这是什么意思?
  2. PKLogId这是什么?这似乎没有被定义在任何地方
  3. 我想Idinteger primary keyautoincrement。我希望能够在我的查询中插入省略Id列的Logs表。我想Id被自动添加和增加。这可能吗?我怎样才能做到这一点?

此刻,当我尝试没有Id插入我得到:

Error while executing query: Logs.Id may not be NULL 
+0

它看起来像SQL Server语法。 – 2011-12-15 12:12:56

+0

是的,这个“创建表”查询已从SQL Server转换为SQLite – Caner 2011-12-15 12:14:31

回答

11

将其更改为:

CREATE TABLE Logs (Id integer PRIMARY KEY,.... 
0

如果你是,你可能有兴趣在SQLite的常见问题1:如何创建一个自动增量字段?:

简短的回答:A柱声明INTEGER PRIMARY KEY将自动递增。

这实际上并不完全准确。一个整数主键确实会增加,但是如果表删除所有行,它将从头再次开始,如果要在整数字段的主键声明之后让所有关联记录正确绑定以使用自动增量描述。