SQLite schreibt keine Daten

Installation und Anwendung von Datenbankschnittstellen wie SQLite, PostgreSQL, MariaDB/MySQL, der DB-API 2.0 und sonstigen Datenbanksystemen.
Antworten
mr.mc.mauser
User
Beiträge: 25
Registriert: Sonntag 4. September 2005, 01:18

Hallo,

ich komme eigentlich aus der Ruby und PHP ecke, und möchte jetzt in Python einsteigen.

Jetzt ist mir aber bei SQlite etwas sehr seltsames aufgefallen.
Folgendes Script:

Code: Alles auswählen

#!/usr/bin/python
# -*- coding:utf-8 -*-

import sqlite3

connection = sqlite3.connect("daten.db")
cursor = connection.cursor()
cursor.execute('''CREATE TABLE IF NOT EXISTS test (
                    id INTEGER PRIMARY KEY AUTOINCREMENT,
                    name TEXT)
                ''')

sql = "INSERT INTO test VALUES (NULL,'Karl Meier')"
cursor.execute(sql)
print (sql)
print 'Ferig'
Nun das Script erzeugt wie erwartet die Datei daten.db
und auch die Datenbak test wird erzeugt, was aber nicht gelingt ist das eintragen der Daten !!

Die Tabelle bleibt einfach leer !

Wo liget der Fehler ??

Gruß
Robert
BlackJack

@mr.mc.mauser: Ich sehe kein `commit()`-Aufruf, also wird die Transaktion nicht beendet und die Daten nicht geschrieben.
mr.mc.mauser
User
Beiträge: 25
Registriert: Sonntag 4. September 2005, 01:18

Ok hab ich kapiert !

ich hab halt gedacht wenn das Erzeugen der Tabelle klappt ohne ein commit ()

warum braucht es dann für die Daten ein commit() !
aber wenn man es weiß ist es kein Problem Danke für die schnelle Hilfe.
Benutzeravatar
jbs
User
Beiträge: 953
Registriert: Mittwoch 24. Juni 2009, 13:13
Wohnort: Postdam

[url=http://wiki.python-forum.de/PEP%208%20%28%C3%9Cbersetzung%29]PEP 8[/url] - Quak!
[url=http://tutorial.pocoo.org/index.html]Tutorial in Deutsch[/url]
Antworten