MySQLdb格式查询参数没有执行?

时间:2014-12-09 18:54:20

标签: string-formatting mysql-python

MySQLdb使用%s表示法格式化查询参数:

cursor.execute('SELECT * FROM foo WHERE bar = %s and baz = %s', (10, "spam"))

有没有办法生成格式化查询而不执行它?

1 个答案:

答案 0 :(得分:0)

在内部,MySQLdb使用db.literal转换每个参数,然后将查询用作带有转换参数的格式字符串:

query = query % tuple(db.literal(item) for item in args)