我有那个查询
"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"。
答案 0 :(得分:3)
要获取自动增量id列,列类型必须为
INTEGER PRIMARY KEY
或
INTEGER PRIMARY KEY AUTOINCREMENT
您的id列INTEGER AUTO INCREMENT
只是一个可以存储NULL的常规列。 AUTO
和INCREMENT
不是关键字,不会影响任何内容。
每个表也只能有一个主键,因此请删除
,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 ..