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 Compliance](http://www.fredosaurus.com/notes-db/transactions/acid.html)の意味を調べることができます。コミットとロールバックは、データベースの状態の「ポイント・イン・タイム」レコードではありません。それらは個々の*トランザクション*を制御します。これは、順番に実行される一連のクエリを表します。特に、「コミットする」とは、「すべてのデータ変更を最終的にし、将来のすべてのトランザクションで利用できるようにする」ことを意味します。 – jpmc26