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 Answers 2
I believe it should be:
self.memcursor.executemany("INSERT OR REPLACE INTO main VALUES (?,?,?,?,?)",self.blocklist)
answered Oct 31, 2010 at 22:28
Matthew Flaschen
286k53 gold badges525 silver badges554 bronze badges
Sign up to request clarification or add additional context in comments.
2 Comments
Varriount
facepalm Well, Im sorry for troubling stackoverflow with this question. Though, I wish the error message was more specific..
Gregor Brandt
you can always try to run a failing command on the sqlite3 command line, you will get better errors there I think.
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.
answered Oct 31, 2010 at 22:32
systempuntoout
74.6k47 gold badges176 silver badges247 bronze badges
Comments
default