Я использую следующий подход к использованию pymysql
для параметризации запроса SQL + args, но не для его выполнения (по крайней мере, на законном основании):
try:
self.cursor.execute(self.sql + ' ***', self.sql_args or tuple())
except pymysql.err.ProgrammingError:
self._sql_formatted = self.cursor._last_executed.rstrip('* ')
Есть ли на самом деле метод, который pymysql
где он просто форматирует строку SQL, не выполняя ее, или мне нужно использовать что-то подобное выше? Или другой вариант:
self.cursor.execute('DESCRIBE ' + self.sql, self.sql_args or tuple())
self._sql_formatted = self.cursor._last_executed.replace('DESCRIBE ', '')