2012-03-21 15 views
5

Mam następujący kod:SQLite pyton nie aktualizuje tabelę

import sqlite3 

con = sqlite3.connect("testDB") 
cur = con.cursor() 

#cur.execute('CREATE TABLE test_table (id integer primary key, data text)') 
cur.execute('INSERT INTO test_table VALUES (?, ?)', (76, 'MyData')) 

kiedy uruchomić ten skrypt to nie aktualizuje tabelę. Ale kiedy robię to samo wstawianie przy użyciu wiersza poleceń sqlite3 w systemie Linux, aktualizuje się. Dlaczego jest coś, co robię źle?

Odpowiedz

10
# Save (commit) the changes 
con.commit() 
+0

con.commit() powinno to być zrobione po zakończeniu wszystkich czynności lub po każdej instrukcji con.execute() mogę to zrobić? – user873286

+0

Jeśli inny program chce natychmiast zobaczyć dane, należy natychmiast go zatwierdzić. W przeciwnym razie możesz zatwierdzić na końcu. – kev

1

Czy próbowałeś zatwierdzić po wstawieniu klauzuli?

+0

con.commit() działa, ale con.commit() powinno to być zrobione po zakończeniu wszystkiego, czy mogę zatwierdzić po każdym oświadczeniu con.execute() ?? jakie są główne cele popełnienia? – user873286

+0

"commit" to zakończenie wszystkich zmian w twoim stole ... ale jeśli chcesz wrócić do poprzedniego statusu, skorzystaj z "klauzuli wycofania" –