如何在python中的mysql查询中使用动态变量

Posted

技术标签:

【中文标题】如何在python中的mysql查询中使用动态变量【英文标题】:How to use a dynamic variable in mysql query in python 【发布时间】:2018-05-14 20:49:46 【问题描述】:

在我的 python 代码中,我想根据用户输入更新表值,所以我需要在查询中传递动态值,但我无法得到任何结果。 你能给我建议吗?

下面是我的代码:`

import mysql.connector

zone = # Dynamic value

rate = # Dynamic value

conn=mysql.connector.connect(user='root',password='1234',host='localhost',database='demo')


mycursor=conn.cursor()

mycursor.execute("UPDATE interest_rate SET interest=(rate,) where Bank_Name=%s",(zone,))

conn.commit()
`

如何在 UPDATE 查询中传递速率,我可以在查询中传递区域变量。 你能帮我传递速率变量吗?

我使用 python 3.4 和 MySQL 作为数据库。

【问题讨论】:

这个问题已经asked before 【参考方案1】:

您需要为所有值使用占位符,并将所有值作为第二个参数提供,作为一个元组:

mycursor.execute("UPDATE interest_rate SET interest=%s where Bank_Name=%s", (rate, zone))

【讨论】:

以上是关于如何在python中的mysql查询中使用动态变量的主要内容,如果未能解决你的问题,请参考以下文章

My SQL 动态查询执行并将输出输出到存储过程中的变量中

SQL Server 查询中的动态表名和变量名

如何用SQL代码将动态查询结果赋值给变量?

如何在 PL/pgSQL 中的动态选择查询中使用迭代器变量?

使用 Python 和 mySQL 进行动态 SQL 查询

[mysql-connector-python在将表作为参数传递时,在表名周围添加单引号。表名来自Flask会话变量