views:

43

answers:

2

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")
+2  A: 

I believe it should be:

self.memcursor.executemany("INSERT OR REPLACE INTO main VALUES (?,?,?,?,?)",self.blocklist)
Matthew Flaschen
*facepalm* Well, Im sorry for troubling stackoverflow with this question. Though, I wish the error message was more specific..
Varriount
A: 

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.

systempuntoout