в общем ф-ция курсора имеет 2 параметра, 2м являются параметры запроса.
Формат самого запроса зависит от MySQLdb.paramstlyle, который описан в http://www.python.org/dev/peps/pep-0249/
в версии 1.2.1 (из debian lenny) этот параметр == format:
'format' ANSI C printf format codes,
e.g. ‘…WHERE name=%s’
вот, собсвенно теперь к проблеме=) как красиво (а не абы как) передать запросу И имена таблиц, по которым идёт выборк, и эти параметры?
c.execute(“SELECT column from %s where name=%s”,(tabl_name, param_name))
такой вот вариант не работает, ибо имя таблицы будет взято в кавычки (тк описаное выше годится ТОЛЬКО для передачи параметров) и запрос будет кривым, если бы paramstyle был “qmark”,то там где параметры можно было б поставить ? и не было б проблем, НО я не нашёл как его менять, тупое MySQLdb.paramstlyle = “qmark” не работает
в общем как сделать ОПТИМАЛЬНО (а не через 5ю точку ;) )так, чтоб имена таблиц и параметры передавались вместе?есть вариант типа:
…
query = “SELECT column from %(tabl)s where id=?”%vars()
c.execute(query.replace(“?”, “%s”), (param_name,))
…
но как-то сильно уж заумно выходит;)