AUTOINCREMENT列字段要求输入值

时间:2018-11-23 17:08:15

标签: python database sqlite

我创建了一个具有自动递增字段的数据库:

filecur.execute("CREATE TABLE IF NOT EXISTS File_Data (_FID INTEGER PRIMARY KEY AUTOINCREMENT, UID INTEGER(1000000), FileName varchar2 (15), Date_ varchar2 (15))")
filecur.execute("insert into File_Data values (?, ?, ?)", (uid, filename, today))

但是,当我尝试在此表中插入值时,出现一个错误,提示我在具有4个字段的表中仅提供了3个值。自动增量功能不应该自己工作吗,还是我错过了一些东西?任何帮助将不胜感激,谢谢!

1 个答案:

答案 0 :(得分:1)

您必须指定要插入的列,例如:

filecur.execute("insert into File_Data(UID, FileName, Date_) values(?, ?, ?)",
                (uid, filename, today))

请注意,您可以明确插入自动增量字段,例如:

filecur.execute("insert into File_Data(FID_, UID, FileName, Date_) values (?, ?, ?, ?)",
                (fid, uid, filename, today))

但是通常您不会那样做。