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值插入到主键时,会在主键上生成一个自增的整数。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。