mysql - Python 3 MySQL 使用问号占位符

标签 mysql python-3.x pymysql

我正在寻找一种方法,将列表中的值放入准备好的 SQL 字符串中,该字符串以问号作为占位符。我之前在 PyQT 中使用过这个,但在那里我使用了 bindValue 函数。使用 pymysql 看起来没有这样的功能。

这是我准备的 SQL 字符串类型的示例:

INSERT INTO my_table (`Column1Name`, `Column2Name`, `Column3Name`) VALUES (?,?,?);

然后,我有一个要插入(或链接到)问号占位符的值列表。

my_values_list['string_1', '3', 'anothervalue']

就像我说的,我之前在 PyQT 中使用过这个方法,所以我知道这个“?”占位符方法有效,但如果没有bindValue函数,我看不到如何使用pymysql让它工作。

以下是我如何使用 PyQT 的 QSqlQuery bindValues 函数让它工作(如果有帮助的话),其中 query.exec_() 执行 SQL 字符串:

if my_values_list:
        [self.query.bindValue(i, my_values_list[i]) for i in range(len(my_values_list))]
self.query.exec_()

最佳答案

以下是如何使用 PyMySQL 执行此操作的示例:

query = 'INSERT INTO my_table (Column1Name, Column2Name, Column3Name) VALUES (%s, %s, %s);'
cur.execute(query, ('string_1', '3', 'anothervalue', ))

? 在此不是有效的占位符,但 %s 有效。

关于mysql - Python 3 MySQL 使用问号占位符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52924635/

相关文章:

Python,SQL : INSERT INTO. ..使用字典进行重复更新

php - 在 Laravel 上过滤

python - 将 pandas.DataFrame 添加到现有 Excel 文件

python - 从 Google Cloud Function python3.7 连接到 Google Cloud SQL

python - 作为另一个函数的参数的函数

python-3.x - 连接到远程数据库脚本后不退出

mysql - 无法使用 pymysql 从我的 sql 数据库检索数据

MySQL通过字符串加载CSV文件

mysql - 检查 SQL 中的“交易起始日期”和“交易截止日期”之间的“搜索起始日期”和“搜索截止日期”

php - 点击计数、限制和禁用