我四处搜索,但看起来大多数有类似问题的人在一个 SQL 变量上有两个字符串,而我有两个不同的参数。
我的代码:
xpcounter = ("UPDATE CharactersDB SET Exp=%s WHERE %s", xp, name) #where is name variable
cur.execute(*xpcounter)
我也试过:
xpcounter = ("UPDATE CharactersDB SET Exp=%s WHERE %s") #where is name variable
cur.execute(xpcounter, xp, name)
两次我都得到一个
TypeError: execute() takes at most 3 arguments (4 given)
我究竟做错了什么?
谢谢!
编辑:根据 monoid 的建议,我的代码现在看起来像:
xpcounter = ("UPDATE CharactersDB SET Exp=%s WHERE %s", (xp, name,)) cur.execute(*xpcounter)
现在我得到一个
截断不正确的 INTEGER 值:'testname'
当我运行它时。
编辑:原来我的数据库正在正确更新,只是一个警告,而不是一个错误。