使用psycopg时,表不会改变

时间:2017-07-19 14:14:17

标签: python sql postgresql psycopg2

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

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

  • 删除PRIMARY KEY时无效。
  • 尝试不同的数据类型时不起作用。

1 个答案:

答案 0 :(得分:4)

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

conn.commit()