无法使用psycopg2截断表

时间:2019-07-01 12:06:39

标签: postgresql psycopg2

我尝试使用psycopg2从Python应用程序中截断表。该操作返回-1,没有任何异常或任何问题的迹象。该表未被截断。该语句本身是正确的,因为当我通过psql运行它时,它可以正常工作。

DB服务器和客户端均为RHEL 7.6。我使用PostgreSQL 11.2,Python 2.75和psycopg2 2.5.1.3el7

代码很简单:

m_dbCon = psycopg2.connect(user=dbUser, password=dbPasswd, host=dbHost, port=dbPort, database=dbInstName)
curr = m_dbCon.cursor()
curr.execute('truncate table my_table')
count = curr.rowcount
curr.close()

正如我所说的,没有异常, 计数 -1

我找不到此问题的任何解释。

我在做什么错了?

2 个答案:

答案 0 :(得分:0)

如杰里米(Jeremy)在评论中所述,如果出现TRUNCATE,应忽略 rowcount

我相信,没有例外意味着成功的陈述。至少在这种情况下是这样。

答案 1 :(得分:0)

你必须使用:

conn.commit()

为了永久保存对数据库所做的更改。

检查这个: https://www.postgresqltutorial.com/postgresql-python/delete/