2010-10-31 223 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