gpt4 book ai didi

python - MySQL 和 Python execution() 只需要 3 个参数,给定 4 个

转载 作者:行者123 更新时间:2023-11-29 05:28:17 26 4
gpt4 key购买 nike

我四处搜索,但看起来大多数有类似问题的人在一个 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)

我做错了什么?

谢谢!

编辑:根据幺半群的建议,我的代码现在看起来像:

xpcounter = ("UPDATE CharactersDB SET Exp=%s WHERE %s", (xp, name,))当前执行(*xpcounter)

现在我得到一个

截断了不正确的 INTEGER 值:'testname'

当我运行它时。

编辑:原来我的数据库正在正确更新,只是一个警告,而不是错误。

最佳答案

在元组中传递附加参数:

xpcounter = "UPDATE CharactersDB SET Exp=%s WHERE %s"
cur.execute(xpcounter, (xp, name,))

关于python - MySQL 和 Python execution() 只需要 3 个参数,给定 4 个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17505067/

26 4 0
文章推荐: java - 这是如何编写此 = new constructor name 的正确方法?