更改似乎不会在 Postgres DB 中生效
changes don't seem to take affect in Postgres DB
每当我 运行 我的 python 脚本与 postgresql 数据库交互时,它们似乎没有效果。我没有收到任何错误,代码中的所有内容似乎都执行良好(例如,数据库操作后的打印结果按预期显示),但是当我稍后查看数据库时,我没有看到代码 运行。例如,我有以下代码:
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()
我看到 "Task Done!" 打印出来,但是 none 的记录实际上从 wins
table.我需要做什么才能使更改在数据库中生效?
默认情况下 psycopg2
有 cursor
不自动提交。在 deleteWins
中,在 c.execute
之后添加 DB.commit()
。 deleteWins
看起来像:
def deleteWins():
DB = connect()
c = DB.cursor()
c.execute("DELETE FROM wins;")
DB.commit()
print "Task Done!"
每当我 运行 我的 python 脚本与 postgresql 数据库交互时,它们似乎没有效果。我没有收到任何错误,代码中的所有内容似乎都执行良好(例如,数据库操作后的打印结果按预期显示),但是当我稍后查看数据库时,我没有看到代码 运行。例如,我有以下代码:
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()
我看到 "Task Done!" 打印出来,但是 none 的记录实际上从 wins
table.我需要做什么才能使更改在数据库中生效?
默认情况下 psycopg2
有 cursor
不自动提交。在 deleteWins
中,在 c.execute
之后添加 DB.commit()
。 deleteWins
看起来像:
def deleteWins():
DB = connect()
c = DB.cursor()
c.execute("DELETE FROM wins;")
DB.commit()
print "Task Done!"