1

I am trying to set my SQlite database up with INTEGER PRIMARY KEY AUTOINCREMENT so I can use last_insert_rowid but when I try I get. This script populates the database and another unrelated program needs to be able to pull the lase row from time to time.

sqlite3.OperationalError: table PLCValues has 28 columns but 27 values were supplied

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))

I have tried several configurations but no luck.

zippo
  • 43
  • 2
  • 8
  • Not quite exact since that one is using Java instead of python but, sounds like the same problem with sqlite. Good luck! –  Nov 23 '17 at 02:20

1 Answers1

0

This seems to work

        cur.execute("INSERT INTO PLCValues VALUES(null, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",\
            (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))
zippo
  • 43
  • 2
  • 8