使用psycopg编写的语句

时间:2012-03-26 03:45:25

标签: postgresql python-3.x prepared-statement psycopg

我是python的初学者。我们使用此代码执行SQL命令。

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

我想知道这是准备好的陈述还是只是客户方引用?

2 个答案:

答案 0 :(得分:11)

不,它没有,至少不是psycopg2。文档中的“准备”是指“准备交易”,它与准备好的声明完全不同。

但是,您可以通过重写方法或执行额外语句来模拟预准备语句。请参阅:An example of psycopg2 cursor supporting prepared statements

请参阅:relevant blog entry for psycopg.

更多信息:

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

答案 1 :(得分:-4)

根据the docs,execute方法将“准备并执行数据库操作(查询或命令)。”。是的,这是一份准备好的声明。