Форум сайта python.su
строка
req.write( MySQLdb.paramstyle )
However, the API does not presently allow the specification of more than one style in paramstyle.попробовал указать
MySQLdb.paramstyle = "qmark"
Офлайн
However, the API does not presently allow the specification of more than one style in paramstyle.Ну раз так пишут то, наверное, нельзя.
Офлайн
У меня тоже не работает
Офлайн
paramstyle указывает стиль задания параметров, который понимает драйвер. Приличные СУБД вообще передают на сервер запрос с placeholder-ами данные для подстановки в него отдельно (и правильно делают, с точки зрения защиты от SQL injection), в таких случаях paramstyle описывает то, с чем умеет работать сервед баз данных, а не драйвер. В общем-то набор возможных значений paramstyle определяется стилями, используемыми в различных СУБД, плю 2 формата, для которых легко зашить данные в запрос в питоне на случаи если СУБД использует какой-то редкий формат или не позволяет передавать запрос и данные отдельно.
FerromanЭта фраза немного о другом. Некоторые СУБД могут поддерживать несколько стилей задания placeholer-ов. Но при написании к нему DB API драйвера придётся ограничиться каким-то одним, так как нет возможности указать, что драйвер поддерживает ещё какой-то формат. Например, Oracle использует named, но при этом позволяет биндить параметры как по имени, так и по позиции (условно его можно назвать numeric), но драйвер вам сообщить только об одном из них.However, the API does not presently allow the specification of more than one style in paramstyle.Ну раз так пишут то, наверное, нельзя.
Офлайн