我在更改 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()