sqlite fortlaufende id?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
onkelhamu
User
Beiträge: 20
Registriert: Freitag 20. Oktober 2017, 21:07

Hallo,
wenn ich testweise eine Datei erstelle

Code: Alles auswählen

...
cursor.execute("""CREATE TABLE touren(id INTEGER PRIMARY KEY)""")
...
weiss einer wieso das funktioniert

Code: Alles auswählen

cursor.execute("""INSERT INTO touren VALUES (NULL)""")
- ergibt bei jedem Aufruf neue id

das aber nicht?

Code: Alles auswählen

sql = "INSERT INTO touren VALUES (?)"
werte = (NULL)
cursor.execute(sql, werte)
NameError: name 'NULL' is not defined
Sirius3
User
Beiträge: 18266
Registriert: Sonntag 21. Oktober 2012, 17:20

@onkelhamu: Im einen Fall ist NULL ein SQL-Keyword, in Python ist NULL aber eine Variable, die nicht definiert ist, dort wird None automatisch nach NULL konvertiert.
onkelhamu
User
Beiträge: 20
Registriert: Freitag 20. Oktober 2017, 21:07

das heisst?
so gehts aber auch nicht

Code: Alles auswählen

sql = "INSERT INTO touren VALUES (?)"
werte = (None)
cursor.execute(sql, werte)
Sirius3
User
Beiträge: 18266
Registriert: Sonntag 21. Oktober 2012, 17:20

Weil der zweite Parameter von execute eine Liste sein muß.
onkelhamu
User
Beiträge: 20
Registriert: Freitag 20. Oktober 2017, 21:07

Guten Morgen,
also nur ein Parameter geht nicht?
Hab ich glaub ich aber auch ausprobiert( zweiter Wert Test INTEGER )
Und in der ersten Version gehts doch?
???
Sirius3
User
Beiträge: 18266
Registriert: Sonntag 21. Oktober 2012, 17:20

Du kannst natürlich auch eine Liste mit nur einem Element benutzen. Warum nicht?
onkelhamu
User
Beiträge: 20
Registriert: Freitag 20. Oktober 2017, 21:07

Ahhh
mit None und einer Liste gehts.
Bin ich doof!
Jetzt hab ich noch jede Menge datetime Objekte. Weiss jemand auch wie ich die da reinkriege?
Das wär klasse, vielen Dank
onkelhamu
User
Beiträge: 20
Registriert: Freitag 20. Oktober 2017, 21:07

Super habs gefunden!
Vielen Dank
Antworten