我用的是Python3。在
self.cur.execute("""INSERT or IGNORE INTO {0}(Konu, KonuAnlatımı, SoruSayısı, ToplamDogru, ToplamYanlıs) VALUES
('{1}', '{2}', '{3}','{4}', '{5}') UPDATE {0} SET (KonuAnlatımı = '{2}'),
SoruSayısı = '{6}',
TaplamDogru = '{7}',
ToplamYanlıs = '{8}'
WHERE Konu = {1}""".format(ders, konu, Çalışıldı, soru, dogru, yanlis,
str(int(soru) + int(self.cur.execute(
"Select SoruSayısı From "+ders+" WHERE Konu = '"+konu+"'").fetchone()[0])),
str(int(dogru) + int(self.cur.execute(
"Select ToplamDogru From "+ders+" WHERE Konu = '"+konu+"'").fetchone()[0])),
str(int(dogru) + int(self.cur.execute(
"Select ToplamYanlıs From "+ders+" WHERE Konu = '"+konu+"'").fetchone()[0]))))
我得到一个错误是:
^{pr2}$警告:一次只能执行一个语句。在
如果我删除';'我会得到:
^{pr2}$sqlite3.OperationalError:靠近“UPDATE”:语法错误
发生了什么事?我还没找到书名。对不起的。。。在
不要使用Python
{num}
格式,它不会正确引用SQL。请改用?
占位符:c.executemany('插入股票价值(?)?,?)',(12,“威士忌”)
分别执行sub select,验证值,然后在更大的SQL语句中使用它们,这样更清晰、更简单。
https://docs.python.org/3/library/sqlite3.html
我建议先把它分解成更小的部分,以便调试,当每个部分都按预期工作时再重新构建它。在
在这个例子中,我已经冒昧地将非ASCII字符替换为视觉上相似的ASCII版本。在
因为我不能测试这个,我可能犯了错误。这只是一种了解情况的方法。在
相关问题 更多 >
编程相关推荐