python - 如何将*列*列表传递给 MySQLDb 执行

标签 python mysql mysql-python

可以pass a tuple to MySQLdb for use in an IN clause ,但是是否可以传递一个元组用作列列表?这不起作用:

cursor.execute("SELECT %s FROM users", tuple(columns))
OperationalError: (1241, 'Operand should contain 1 column(s)')

看起来execute没有对列表进行语法感知的替换。

最佳答案

丑陋但实用:

cursor.execute(
    "SELECT %s FROM users" % \
    ', '.join('`' + MySQLdb.escape_string(column) + '`' for column in columns))

关于python - 如何将*列*列表传递给 MySQLDb 执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19226661/

相关文章:

python - 左侧 1 个 x 轴、1 个 y 轴、右侧 1 个 y 轴

python - 在 Pandas DF 中迭代多列并动态切片

javascript - 当用户关闭窗口时Ember js运行函数

mysql查询正则表达式在2个单词之间循环

python - 如何从多个字符串中删除某些字符?

python - 为什么将长 2D 列表转换为 numpy 数组这么慢?

python - 在 Pandas 查询中使用列表

php - 如何将多语言字符串插入数据库?

python - 游标从mysql获取错误记录

python - 错误 : command 'cc' failed with exit status 1 - MySQLdb installation on MAC