python - 使用 psycopg 时表格不会改变

标签 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 时它不起作用。
  • 尝试不同的数据类型时它不起作用。

最佳答案

您需要添加一个提交语句,以便您的更改反射(reflect)在表中。在关闭连接之前添加它。

conn.commit()

关于python - 使用 psycopg 时表格不会改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45193241/

相关文章:

python - 如何访问 Django 模板中的用户配置文件?

Python序列化词法闭包?

python - BS4 某些行不返回任何内容

mysql - 对过去 24 小时内重复的行进行分组

sql - 在两列上对 PostgreSQL 中的表进行排序,以便列 X 中的值等于前一条记录中列 Y 中的值

sql-server - 如何获得两个日期之间的天/月/年(datediff)差异?

python - 通过 Sklearn 添加指标以在 Tensorflow 中进行预测测试

sql - 重命名 PostgreSQL 中的多个列

php - MySql 在每次插入后插入最后一个 id

PostgreSQL:选择时间戳字段上的数据