我查看了文档,但没有找到任何让我知道通过cursor.execute("...")执行的最后一个命令是否成功的信息。
我期望得到像"影响1行"这样的回复。
这是一个老问题,但检查使用psycopg2
的操作是否成功的一种方法是查看语句执行后游标的rowcount
属性。此属性返回上一个execute
语句影响到的行数。
例如:
connection = psycopg2.connect(dbname="foo",user="postgres")
cur = connection.cursor()
cur.execute("INSERT INTO foo VALUES (%s, %s)", (1,2))
cur.rowcount # returns 1
cur.execute("SELECT * FROM foo")
cur.rowcount # returns 0
一个类似的属性是statusmessage
,它返回一个字符串,其中包括执行的最后操作类型以及受影响的行数。
statusmessage
。文档在这里:http://initd.org/psycopg/docs/cursor.html。 - Nick