使用Python循环和转义更新MySQL表



我编写了一个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, )

最新更新