【发布时间】:2018-05-06 21:21:20
【问题描述】:
我正在尝试使用 INTEGER PRIMARY KEY AUTOINCREMENT 设置我的 SQlite 数据库,以便我可以使用 last_insert_rowid 但是当我尝试时我得到了。该脚本会填充数据库,并且另一个不相关的程序需要能够不时提取激光行。
sqlite3.OperationalError: 表 PLCValues 有 28 列,但提供了 27 个值
cur.execute("DROP TABLE IF EXISTS PLCValues")
cur.execute("CREATE TABLE PLCValues(ID INTEGER PRIMARY KEY AUTOINCREMENT, [timestamp] timestamp, \
x001 NUMERIC, x002 NUMERIC, x003 NUMERIC, x004 NUMERIC, x005 NUMERIC, x006 NUMERIC, x007 NUMERIC, x008 NUMERIC,\
y001 NUMERIC, y002 NUMERIC, y003 NUMERIC, y004 NUMERIC, y005 NUMERIC, y006 NUMERIC,\
x201 NUMERIC, x202 NUMERIC, x203 NUMERIC, x204 NUMERIC, x205 NUMERIC, x206 NUMERIC, x207 NUMERIC, x208 NUMERIC,\
df1 REAL, df2 REAL, df3 REAL, df4 REAL)")
.
.
.
cur.execute("INSERT INTO PLCValues VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",\
(datetime.now(), \
regs1[0], regs1[1], regs1[2], regs1[3], regs1[4], regs1[5], regs1[6], regs1[7],\
regs2[0], regs2[1], regs2[2], regs2[3], regs2[4], regs2[5],\
regs3[0], regs3[1], regs3[2], regs3[3], regs3[4], regs3[5], regs3[6], regs3[7],\
Temp/10, Humid/10, 0, 0))
我尝试了几种配置,但都没有成功。
【问题讨论】:
-
不太准确,因为它使用的是 Java 而不是 python,但听起来和 sqlite 有同样的问题。祝你好运!
标签: python sqlite auto-increment