SQLiteDatabase AUTO INCREMENT为null

时间:2014-10-27 08:49:27

标签: android

我有那个查询

"CREATE TABLE CAdres (id INTEGER AUTO INCREMENT,CariID INTEGER, No INTEGER, Adres TEXT,Tel TEXT,Fax TEXT, NotTanim TEXT,PRIMARY KEY (CariID, No));"

当我在记录中时,id为null。为什么空?正常的sql增量数,但sqlite来了" null"。

2 个答案:

答案 0 :(得分:3)

要获取自动增量id列,列类型必须为

INTEGER PRIMARY KEY

INTEGER PRIMARY KEY AUTOINCREMENT

您的id列INTEGER AUTO INCREMENT只是一个可以存储NULL的常规列。 AUTOINCREMENT不是关键字,不会影响任何内容。

每个表也只能有一个主键,因此请删除

,PRIMARY KEY (CariID, No)

如果您需要组合是唯一的,则可以将其更改为UNIQUE约束。

答案 1 :(得分:0)

试试这个..它可能有用......

"CREATE TABLE CAdres (id INTEGER PRIMARY KEY AUTOINCREMENT,CariID INTEGER NOT NULL, No INTEGER NOT NULL, Adres TEXT,Tel TEXT,Fax TEXT, NotTanim TEXT ,UNIQUE (CariID, No));"

注意:主键和唯一之间的差异是,unique可以为null,主键不能为null ..