每当我运行与postgresql数据库交互的python脚本时,它们似乎没有效果。我没有得到任何错误,代码中的所有内容似乎都执行得很好(例如,DB操作后的打印结果如预期所示),但是当我稍后查看数据库时,我没有看到代码运行的任何证据。例如,我有以下代码:
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
具有不自动提交的cursor
。在deleteWins
中,在c.execute
之后添加DB.commit()
。deleteWins
看起来像:相关问题 更多 >
编程相关推荐