我是python的初学者。我们使用此代码执行SQL命令。
cur.execute("INSERT INTO test (num, data) VALUES (%s, %s)", (100, "abcdef"))
我想知道这是准备好的陈述还是只是客户方引用?
答案 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方法将“准备并执行数据库操作(查询或命令)。”。是的,这是一份准备好的声明。