python - 我如何知道我是否已成功创建表(Python、Psycopg2)?

标签 python psycopg

我查看了文档,但没有找到任何可以让我知道我通过 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 是一个类似的属性,它返回一个字符串,其中包括最后执行的操作的类型以及受影响的行数。

关于python - 我如何知道我是否已成功创建表(Python、Psycopg2)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9222256/

相关文章:

python - 通过 Psycopg 插入到 Pg

python - 为什么我创建的 postgres 用户被拒绝访问表?

python - pip install psycopg2 venv 卡住

python - 如何在 psycopg2 连接池中使用 "INSERT"?

python - 整数转二进制不用乘除法

python - 具有大对象的 Memcached(NetworkX 图)

python - 设置 dtype 时 Numpy 数组上的重复值

python - 比较数据框中的两列并使用 Pandas 样式突出显示值

python - 选择一个 ndarray 的所有维度,但一个

python - django、postgres 8.4、psycopg 2.2.2、python 2.7、mod_wsgi