You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Python循环更新MySQL表时遇参数格式错误求助

问题解决:MySQL execute参数类型错误

错误原因

你遇到的错误是因为MySQL Python驱动的execute()方法要求参数必须是元组、列表或字典类型,不能直接传入单个浮点数。驱动需要通过序列/字典来匹配SQL语句中的占位符%s。

修正代码

把单个浮点数包装成元组(推荐)或者列表即可:

mycursor = mydb.cursor()
sql = "UPDATE currencies SET coefficient = %s"
val = 0.03137
# 用元组包装参数,注意逗号不能少,避免被当成单个变量
mycursor.execute(sql, (val,))
mydb.commit()

或者用列表形式:

mycursor.execute(sql, [val])

额外实用提示

当前SQL语句会更新currencies表中所有行的coefficient字段,如果只想更新特定货币的汇率,一定要加上WHERE子句,避免误操作全表数据,示例:

sql = "UPDATE currencies SET coefficient = %s WHERE currency_code = %s"
val = (0.03137, "USD")
mycursor.execute(sql, val)

内容的提问来源于stack exchange,提问作者Victor Major

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 06:15:43