AutoCAD.Net/C#.Net QQ群:193522571 SQLite主键自增需要设置为integer PRIMARY KEY
按照正常的SQL语句,创建一个数据表,并设置主键是这样的语句:
CREATE TABLE [Sample] (EventId int PRIMARY KEY, EventDate timestamp, EventMessage varchar(255), EventType varchar(10))
但使用这种办法,在SQLite中创建的的数据表,如果使用Insert语句插入记录,如下语句:
INSERT INTO Sample VALUES(null, '2013-12-26', 'hello.txt', 'Remove')
那么在实际添加的记录中,主键EventId对应的值不是一个自增的整数,而是一个null值。
经查询得知,在SQLite数据库中,使用int数据类型无法将该主键设置为自增,只有设置为interger数据类型,才能自增。因此,在创建SQLite的自增主键时,应该是下面的SQL语句:
CREATE TABLE [Sample] (EventId integer PRIMARY KEY, EventDate timestamp, EventMessage varchar(255), EventType varchar(10))
注意是:EventId integer PRIMARY KEY
这种语句创建的数据表,在使用Insert语句将null值插入到主键时,会在主键上生成一个自增的整数。