1
我通過tkinter按鈕單擊來調用這些函數。因此,一旦提交完成,如果我需要恢復的變化。我打電話做回退,但它不是恢復的變化是否有可能在python提交後回滾sqlite3更改
def insert(_id,name,phone):
conn = sqlite3.connect(db)
print ("Opened database successfully");
print (name,phone)
conn.execute("INSERT INTO VARUN (ID,NAME,PHONE) \
VALUES (?,?,?)",(_id,name,phone));
conn.commit()
print ("New record(s)" , name," has just been added to the database");
conn.close()
def rollback():
conn = sqlite3.connect(db)
conn.rollback()
print ("\n changes reverted")
conn.close()
您可能想查看[ACID合規性](http://www.fredosaurus.com/notes-db/transactions/acid.html)的含義。提交和回滾不是數據庫狀態的「時間點」記錄。它們控制單個*事務*,它們代表按順序執行的一組查詢。特別是,「提交」意味着「使所有數據更改最終並可用於所有未來交易」。 – jpmc26