在带有AUTOINCREMENT列的表中插入一行

时间:2016-04-18 09:31:59

标签: sqlite insert

我有这张桌子

CREATE TABLE "INGREDIENTS" (
       "id" INTEGER PRIMARY KEY  AUTOINCREMENT  NOT NULL , 
       "material" VARCHAR, 
       "type" VARCHAR, 
       "company" VARCHAR
 )

我想添加一行

INSERT INTO "INGREDIENTS" VALUES('material1','type1','company1');

我收到错误... has 4 columns but 3 values supplied

但是,我希望该行从前一行获取id值+1。

1 个答案:

答案 0 :(得分:3)

您需要指定插入的列

INSERT INTO INGREDIENTS (material, type, company) 
VALUES ('material1', 'type1', 'company1');

实际上您应该始终指定列。如果您没有,并且您的表格发生了变化,那么您的查询就会开始中断。