Seite 1 von 1

SQLITE3 Tabellen durchsuchen und einträge Löschen

Verfasst: Dienstag 30. Oktober 2018, 09:03
von phoenixx592
Hallo,
ich würde gerne Tabellen nach einer bestimmten Zeichenkette durchsuchen und diese dann Löschen! Dabei funktionieren leider diese SQL Befehle nicht.

Code: Alles auswählen

cursor.execute("DELETE FROM Obst JOIN Frucht WHERE Variable ='Apfel';")

Code: Alles auswählen

cursor.execute("DELETE FROM Obst AND Frucht WHERE Variable ='Apfel';")

Code: Alles auswählen

cursor.execute("DELETE FROM Obst, Frucht WHERE Variable ='Apfel';")
könnt ihr mir helfen? :P

Re: SQLITE3 Tabellen durchsuchen und einträge Löschen

Verfasst: Dienstag 30. Oktober 2018, 09:28
von Sirius3
Wie sehen denn Deine Tabellen Obst und Frucht aus? Wie hängen diese beiden Tabellen zusammen? Was willst Du konkret erreichen?

Re: SQLITE3 Tabellen durchsuchen und einträge Löschen

Verfasst: Dienstag 30. Oktober 2018, 09:36
von phoenixx592
Ich habe einfach eine Datenbank "Furcht_Obst.db"

dort sehen die Tabellen so aus

Frucht Tabelle:
Name|Größe
---------------------
Apfel|56cm
Birne|39cm


Obst Tabelle:
Name|Größe
---------------------
Apfel|56cm
Kiwi|22cm

Re: SQLITE3 Tabellen durchsuchen und einträge Löschen

Verfasst: Dienstag 30. Oktober 2018, 09:57
von snafu
Nichts für ungut, aber die Daten sehen sehr unrealistisch aus. Ein Apfel mit einem halben Meter Durchmesser? Sicher dass es kein Kürbis ist? ;-)

Im Ernst: Es ist okay, Daten zu anonymisieren, aber wenn du komplett am tatsächlichen Anwendungsfall vorbeischreibst, können wir dir hier nur sehr allgemein helfen und möglicherweise das eigentliche Problem nicht erkennen. Oder es sind wirklich komische Testdaten bei dir...

Re: SQLITE3 Tabellen durchsuchen und einträge Löschen

Verfasst: Dienstag 30. Oktober 2018, 10:13
von Sirius3
Was ist denn nun der Unterschied zwischen Obst und Frucht? Warum sind die Tabellen identisch?

Re: SQLITE3 Tabellen durchsuchen und einträge Löschen

Verfasst: Dienstag 30. Oktober 2018, 11:14
von phoenixx592
Leute das ist nur ein Test, ich hab mir da irgendwas aus dem Finger gesogen.

Mir stellt sich nur die Frage wieso das Modul SQLite3 mir Syntax error beim "AND" oder "Join" oder "," wiedergibt.

Ich möchte doch nur 2 Tabellen durchsuchen und die Variable Apfel löschen wenn sie Vorhanden ist! :mrgreen:

Re: SQLITE3 Tabellen durchsuchen und einträge Löschen

Verfasst: Dienstag 30. Oktober 2018, 11:33
von __deets__
Weil das halt nicht geht. Hast du dir mal die Grammatik fuer das DELETE-kommando angeschaut?

https://www.sqlite.org/lang_delete.html

Da kannst du genau EINE Tabelle angeben. Keine JOINS. Erst recht kein AND, was auf Tabellen niemals geht, sondern immer nur Spalten (oder Literale) betreffen kann.

Wenn dein Design Mist ist, und du deine Daten wie in einem unaeufgeraeumten Zimmer ueberall verteilst, dann musst du eben auch die Muehe auf dich nehmen, sie in allen Ecken des Zimmers zusammen zu suchen...

Re: SQLITE3 Tabellen durchsuchen und einträge Löschen

Verfasst: Dienstag 30. Oktober 2018, 12:08
von Sirius3
@phoenixx592: der Test testet halt nicht das, wie man es üblicherweise macht. Also mußt Du schon verraten, was Du vorhast, damit es ein sinnvoller Test werden kann.