我有一个函数,它通过pymysql与存储在本地主机上的SQL数据库通信。我知道有类似的关于格式化SQL部分的帖子,特别是this one,但是有人能提出一个解决方案吗? 总是获取类型错误:无法将元组合并到字节。我想是有WHERE子句的。你知道吗
def likeMovement(pID):
print("Give a rating for the movement with #id:%s" %pID)
rate=input("Give from 0-5: ")
userID=str(1)
print(rate,type(rate))
print(pID,type(pID))
print(userID,type(userID))
cursor=con.cursor()
sqlquery='''UDPATE likesartmovement SET likesartmovement.rating=%s WHERE
likesartmovement.artisticID=? AND likesartmovement.userID=?''' % (rate,),
(pID,userID)
cursor.execute(sqlquery)
TypeError: not all arguments converted during string formatting
提前谢谢!你知道吗
问题是您将
(pID,userID)
存储为sqlquery
中存储的元组的一部分,而不是将它们作为参数传递给execute
:如果你举一个简单的例子,你可能会更清楚地看到为什么这些是不同的:
显然这两个人做的不一样。你知道吗
当我们这样做的时候:
UPDATE
拼对。你知道吗SET
子句使用查询参数的原因与对WHERE
子句使用查询参数的原因完全相同。你知道吗SET
子句中包含表名。你知道吗所以:
相关问题 更多 >
编程相关推荐