подготовленные заявления с использованием psycopg - PullRequest
3 голосов
/ 26 марта 2012

Я новичок в питоне.Мы используем этот код для выполнения команд SQL.

cur.execute("INSERT INTO test (num, data) VALUES (%s, %s)", (100, "abcdef"))

Интересно, это подготовленное утверждение или просто цитирование на стороне клиента?

Ответы [ 2 ]

12 голосов
/ 15 апреля 2013

Нет, не для psycopg2, по крайней мере. «Подготовить» в документах означает «ПОДГОТОВИТЬ СДЕЛКУ», которая полностью отличается от подготовленного утверждения.

Однако вы можете эмулировать подготовленный оператор, переопределив методы или выполнив дополнительные операторы. См .: Пример курсора psycopg2, поддерживающего подготовленные операторы

Пожалуйста, смотрите: соответствующую запись в блоге для psycopg.

Дополнительная информация:

http://www.postgresql.org/docs/9.2/static/sql-prepare.html
http://www.postgresql.org/docs/current/static/sql-prepare-transaction.html

0 голосов
/ 26 марта 2012

Согласно документам метод execute будет "Подготавливать и выполнять операцию базы данных (запрос или команду).". Так что да, это подготовленное заявление.

...