pep 0249 defines no way to do that. But pymysql has a mogrify
method that will show the generated SQL.
values={ 'qty': 10, 'descr': "chocolate cake" }
sql='''INSERT INTO mywishes
( quantity, description )
VALUES ( %(qty)s, %(descr)s )
'''
try:
cursor.execute( sql, values )
except pymysql.ProgrammingError:
print("Hum, there is an error in the sql...")
print(cursor.mogrify(sql, values))
Also note that if you don't get that far, it means pymysql can't map your SQL text and parameter to an actual SQL statement. This can happen for example if your param list is too long or too short. The following will raise a TypeError:
sql="insert into mywishes ( quantity, description ) values ( %s, %s )"
cursor.mogrify(sql, [1])
cursor.mogrify(sql, [1,2,3])