我用它来自动增加一列,
"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插入什么值?
答案 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
字段,仍然会发生自动增量。