Insert Befehl mit möglichen Null Werten
Verfasst: Freitag 15. Januar 2021, 10:49
Hallo zusammen,
ich habe ein Problem mit meiner SQLite Datenbank beim Einfügen der Daten. Ich lese Daten aus zwei DBF-Dateien aus und möchte diese Daten in eine Datenbank speichern. Ich habe nur das Problem das manchmal die Felder in der DBF leer sind. Hier möchte ich in die Datenbank "NULL" einfügen.
Mein Code zum Einfügen sieht aktuell so aus:
Weiter oben im Code steht null = "NULL" also bitte deswegen nicht verwirren lassen. Wenn ich jetzt das ganze ausführe steigt er mir schonmal aus, da natürlich in mushroomFullname sowas z.b drin steht: "Boletus edulis Bulliard".
Dann habe ich gedacht gut, dann schreibst halt folgendes:
Jetzt habe ich in meiner Datenbank zwar die Werte drin stehen, aber anstatt einen "NULL"-Werte habe ich das Wort "NULL" drin stehen. Ich hab es auch schon mit %s und '%s' versucht und hab das gleiche Problem. Daher meine Frage:
Wie kann ich mögliche "NULL"-Werte in das SQL-Statement einbauen?
Bzw. wie geht man bei sowas richtig vor?
Mögliche "NULL"-Werte können im Statement folgende sein:
mushroomOrder = "Russulales"
mushroomRedlist = "2/3"
mushroomNote = "vgl. Boletus bulbosus ..."
Danke für eure Hilfe.
Grüße Gabber
ich habe ein Problem mit meiner SQLite Datenbank beim Einfügen der Daten. Ich lese Daten aus zwei DBF-Dateien aus und möchte diese Daten in eine Datenbank speichern. Ich habe nur das Problem das manchmal die Felder in der DBF leer sind. Hier möchte ich in die Datenbank "NULL" einfügen.
Mein Code zum Einfügen sieht aktuell so aus:
Code: Alles auswählen
cursor.execute("INSERT INTO Pilze (Vollname, Gattung, Art, Familie, Ordnung, Roteliste, Anmerkung, "
"Bild) VALUES ({0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}) ".format(mushroomFullname, mushroomGenre, mushroomSpecies, mushroomFamily,
mushroomOrder if mushroomOrder else null, mushroomRedList if mushroomRedList else null, mushroomNote if mushroomNote else null, mushroomPicture))
database.commit()
Dann habe ich gedacht gut, dann schreibst halt folgendes:
Code: Alles auswählen
cursor.execute("INSERT INTO Pilze (Vollname, Gattung, Art, Familie, Ordnung, Roteliste, Anmerkung, "
"Bild) VALUES ('{0}', '{1}', '{2}', '{3}', '{4}', '{5}', '{6}', '{7}') ".format(mushroomFullname, mushroomGenre, mushroomSpecies, mushroomFamily,
mushroomOrder if mushroomOrder else null, mushroomRedList if mushroomRedList else null, mushroomNote if mushroomNote else null, mushroomPicture))
database.commit()
Wie kann ich mögliche "NULL"-Werte in das SQL-Statement einbauen?
Bzw. wie geht man bei sowas richtig vor?
Mögliche "NULL"-Werte können im Statement folgende sein:
- mushroomOrder
mushroomRedList
musrhoomNote
mushroomPicture (immer "NULL", da aktuell nicht in der DBF hinterlegt, aber wird für später benötigt)
mushroomOrder = "Russulales"
mushroomRedlist = "2/3"
mushroomNote = "vgl. Boletus bulbosus ..."
Danke für eure Hilfe.
Grüße Gabber