使用psycopg时表格不会改变



我在更改 postgres 数据库中的表时遇到了一些问题。我正在使用psycopg2并使用Python工作。我尝试添加串行主键。花了很长时间(大表(,并且没有抛出任何错误,所以它做了一些事情,但是当我去检查时,新列不存在。

我希望这是我错过的愚蠢的东西,但现在我完全不知所措。

import psycopg2
username = *****
password = *****
conn = psycopg2.connect(database='mydb',user=username,password=password)
query = "ALTER TABLE mytable ADD COLUMN sid serial PRIMARY KEY"
cur = conn.cursor()
cur.execute(query)
conn.close()

我在调试时尝试过的其他事情:

  • 当我删除主键时它不起作用。
  • 尝试其他数据类型时不起作用。

您需要添加一个 commit 语句,以便您的更改反映在表中。在关闭连接之前添加此项。

conn.commit()

最新更新