Varriount
Varriount

Reputation: 663

SQLite vague syntax error

Ok, so I'm putting a list of 25 tuples, with each tuple containing 5 items, into an sqlite database. Each time I try the main code to write, I get "apsw.SQLError: SQLError: near "?": syntax error" Here's the code I'm running. Be aware that this is part of a much, much larger server project for a game, so some of the functions will be unknown to you.

def writetable(self,blockoffset,matbefore,matafter,name,date):
    self.blocklist.append((blockoffset,matbefore,matafter,name,date))
    if len(self.blocklist) > 25:
        self.memcursor.executemany("INSERT OR REPLACE INTO main (?,?,?,?,?)",self.blocklist)
        blocklist.clear()
        print("Memory Database updated")

Upvotes: 2

Views: 342

Answers (2)

systempuntoout
systempuntoout

Reputation: 74134

You probably forgot the VALUES keyword:

  self.memcursor.executemany("INSERT OR REPLACE INTO main VALUES (?,?,?,?,?)",self.blocklist)

Have a look here for the correct syntax.

Upvotes: 0

Matthew Flaschen
Matthew Flaschen

Reputation: 285047

I believe it should be:

self.memcursor.executemany("INSERT OR REPLACE INTO main VALUES (?,?,?,?,?)",self.blocklist)

Upvotes: 3

Related Questions