1
我已经搜遍了,但它看起来像大多数人有一个SQL变量有两个字符串,而我有两个不同的参数。MySQL和Python的执行()只需要3个参数,4给出
我的代码:
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精通=%s的其中%s”,(XP,名称)) cur.execute(* xpcounter)
现在,我得到一个
截断不正确INTEGER值: '测试名'
当我运行它。
编辑︰原来我的数据库正在更新,只是一个警告,而不是一个错误。
真棒,太感谢你了! 编辑:好了,现在它给出了一个“截断不正确的INTEGER值:”当我输入一个名称。我认为(我对编码还很陌生)它试图将字符串转换为整数? – mathieu
@Mathieu - 这是一个不同的问题 - 见[这里](http://stackoverflow.com/questions/4946899/mysql-truncated-incorrect-integer-value) – mata
谢谢,我检查了它,它确实正确更新。再次感谢! – mathieu