gpt4 book ai didi

python - 更改似乎不会在 Postgres DB 中生效

转载 作者:太空宇宙 更新时间:2023-11-03 17:41:02 24 4
gpt4 key购买 nike

每当我运行与 postgresql 数据库交互的 python 脚本时,它们似乎都没有效果。我没有收到任何错误,并且代码中的所有内容似乎都执行良好(例如,数据库操作后的打印按预期显示),但是当我稍后查看数据库时,我没有看到代码运行的任何证据。例如,我有以下代码:

def testDeleteWins():
deleteWins()
print "Old wins deleted."

def deleteWins():
DB = connect()
c = DB.cursor()
c.execute("DELETE FROM wins;")
print "Task Done!"

def connect()
print"Connected"
return psycopg2.connect("dbname=project")

如果我运行 testDeleteWins() 我会看到“任务完成!”打印出来,但实际上没有任何记录从 wins 表中删除。我需要做什么才能使更改在数据库中生效?

最佳答案

默认情况下psycopg2具有不自动提交的游标。在 deleteWins 中,在 c.execute 之后添加 DB.commit()deleteWins 将如下所示:

def deleteWins():
DB = connect()
c = DB.cursor()
c.execute("DELETE FROM wins;")
DB.commit()
print "Task Done!"

关于python - 更改似乎不会在 Postgres DB 中生效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30551441/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com