Search code examples
pythonmysqlpsycopg

What is the equivalent of psycopg curs.mogrify on mysql?


What would be the equivalent of psycopg's cur.mogrify on mysql?

From: http://initd.org/psycopg/docs/cursor.html

mogrify(operation[, parameters]) Return a query string after arguments binding. The string returned is exactly the one that would be sent to the database running the execute() method or similar.

>cur.mogrify("INSERT INTO test (num, data) VALUES (%s, %s)", (42, 'bar'))
>"INSERT INTO test (num, data) VALUES (42, E'bar')"

DB API extension The mogrify() method is a Psycopg extension to the DB API 2.0.

Thanks in advance.


Solution

  • MySQL doesn't have anything built in that returns a query string like this. If you want to perform a query with variables substituted in, you use PREPARE and EXECUTE:

    PREPARE stmt AS "INSERT INTO test(num, data) VALUES (?, ?)";
    EXECUTE stmt USING 42, 'bar';