2010-10-31 152 views
1

好吧,所以我把25个元组的列表,每个元组包含5个项目,放入一个sqlite数据库。每次我尝试写主代码时,都会得到“apsw.SQLError:SQLError:near”?“:语法错误”这是我正在运行的代码。请注意,这是游戏中一个更大的服务器项目的一部分,因此某些功能对您而言将是未知的。SQLite含糊语法错误

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

我相信它应该是:

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

* facepalm *对不起,这个问题令人烦恼的stackoverflow。虽然,我希望错误消息更具体.. – Varriount 2010-10-31 23:04:25

+0

您可以随时尝试在sqlite3命令行上运行失败的命令,您会在那里得到更好的错误。 – 2010-11-01 14:19:06

0

你可能忘了VALUES关键字:

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

有正确的语法一看here