什么相当于psycopg的cur.mogrify
在mysql上?
来自:http://initd.org/psycopg/docs/cursor.html
mogrify(操作[,参数]) 在参数绑定后返回查询字符串。返回的字符串恰好是发送到运行execute()方法或类似方法的数据库的字符串。
> cur.mogrify(“INSERT INTO test(num,data)VALUES(%s,%s)”,(42,'bar'))
>“INSERT INTO test(num,data)VALUES(42,E'bar')”DB API扩展mogrify()方法是DB API 2.0的Psycopg扩展。
提前致谢。
答案 0 :(得分:1)
MySQL没有内置任何返回像这样的查询字符串。如果要使用替换的变量执行查询,请使用PREPARE
和EXECUTE:
PREPARE stmt AS "INSERT INTO test(num, data) VALUES (?, ?)";
EXECUTE stmt USING 42, 'bar';
答案 1 :(得分:1)
根据this示例,您可以在执行语句后看到“mogrify”的结果。
import MySQLdb
conn = MySQLdb.connect()
cursor = conn.cursor()
cursor.execute('SELECT %s, %s', ('bar', 1))
print cursor._executed
将打印
SELECT 'bar', 1
此外,您不需要在执行前使用mogrify
query = cursor.mogrify('SELECT %s, %s', ('bar', 1))
cursor.execute(query)
您可以简单地执行以下操作
cursor.execute('SELECT %s, %s', ('bar', 1))