SQLite中的自动增量

时间:2011-08-08 22:04:11

标签: sqlite

我用它来自动增加一列,

"create table info (ID INTEGER PRIMARY KEY AUTOINCREMENT, age int)" 为了插入表格我有这个!

public static void databaseInsertInfoTable(int ID,int age){...}

当我想调用databaseInsertInfoTable时,它不接受ID为null。

databaseInsertInfoTable(null,12);// this has error!

我应该为ID插入什么值?

2 个答案:

答案 0 :(得分:4)

根据SQLite FAQ,对插入使用“null”应该可以正常工作。

但是,如果您使用的是Java,则无法传递null,其中参数类型是int这样的基元。您必须使用Java的“wrapper classes”之一才能传递空值,因此请尝试将Integer放在那里而不是int

答案 1 :(得分:3)

您也可以在不插入id参数的情况下进行查询。它会是这样的:

CREATE TABLE Aigua (id INTEGER PRIMARY KEY,mq DOUBLE, total DOUBLE,emq DOUBLE,data DATETIME)

然后当你插入:

INSERT INTO Aigua (mq,total,emq,data) VALUES (aigua.getTotalm3(),aigua.getTotale(),aigua.getEm3(),formatedDate)

请注意,您无需修改​​id字段,仍然会发生自动增量。