SQLite speichert keine Daten zwischen den Verwendungen

Ich habe ein Modul mit folgendem Inhalt gemacht:

import sqlite3 as sq connection = sq.connect("test.db") cursor = connection.cursor() cursor.execute("DROP TABLE IF EXISTS test") cursor.execute("CREATE TABLE test (st TEXT)") cursor.execute("INSERT INTO test VALUES ('testing')") cursor.execute("SELECT * FROM test") print(cursor.fetchall()) cursor.close() connection.close() connection2 = sq.connect("test.db") cursor2 = connection2.cursor() cursor2.execute("SELECT * FROM test") print(cursor2.fetchall()) 

Aber als ich es lief, druckte es folgendes:

 [('testing',)] [] 

Es sollte gedruckt werden:

 [('testing',)] [('testing',)] 

Was ist falsch?

One Solution collect form web for “SQLite speichert keine Daten zwischen den Verwendungen”

Sie haben Ihre Änderungen nicht in die DB übernommen. Wenn Sie die Verbindung verwerfen, wird die Transaktion zurückgesetzt. Das funktioniert

 import sqlite3 as sq connection = sq.connect("test.db") cursor = connection.cursor() cursor.execute("DROP TABLE IF EXISTS test") cursor.execute("CREATE TABLE test (st TEXT)") cursor.execute("INSERT INTO test VALUES ('testing')") connection.commit() # !!! cursor.execute("SELECT * FROM test") print(cursor.fetchall()) cursor.close() connection.close() connection2 = sq.connect("test.db") cursor2 = connection2.cursor() cursor2.execute("SELECT * FROM test") print(cursor2.fetchall()) 
  • SQLite3 Python: executemany SELECT
  • Textdatei in sqlite3 Datenbank mit Python
  • Python 3.2 UnicodeEncodeError: 'charmap' codec kann das Zeichen '\ u2013' nicht in Position 9629 kodieren: Zeichenkarten zu <undefined>
  • Sqlite3.ProgrammingError: Falsche Anzahl der gelieferten Bindungen
  • Django ManyToMany Beziehungsfehler
  • Holen Sie sich eine Liste von Feldwerten aus Python's sqlite3, nicht Tupel, die Zeilen darstellen
  • Grafische sqlite3-Daten mit reportlab
  • Python insert numpy array in sqlite3 Datenbank
  • Python SQLite - Wie man manuell BEGINNEN und END-Transaktionen?
  • Wie kann ich das sqlite3 Paket in Python 2.6 aktualisieren?
  • Wie man Ergebnisse aus einer sqlite3-Abfrage auf getrennten Zeilen in einer tkinter-GUI ausgibt
  • Python ist die beste Programmiersprache der Welt.