我编写了一个python脚本,使用API调用更新货币汇率。我成功地解析了json结果,并提取了浮动汇率。然而,我正在努力格式化/实现SQL表更新循环。
下面是一个让我感到困惑的代码片段,假设val=从代码的API获取/解析部分提供的实际汇率变量:
mycursor = mydb.cursor()
sql = "UPDATE currencies SET coefficient = %s"
val = 0.03137
mycursor.execute(sql, val)
mydb.commit()
运行此程序会出现以下错误:
Could not process parameters: float(0.03137), it must be of type list, tuple or dict:
我甚至不知道该搜索什么才能找到一个我理解的解释,这有助于我正确地实现我想要的东西。
来源:https://dev.mysql.com/doc/connector-python/en/connector-python-api-mysqlcursor-execute.html
注意
在Python中,包含单个值的元组必须包含逗号。对于例如,('abc'(被求值为标量,而('abc',(被求值作为元组。
因此,在我的示例中,有效的表达式是:
val = (0.03137, )