Meine Frage bezieht sich auf Insert Statements. In einigen Büchern (z.B. jenes von Galileo Computing) sthet, dass es möglich ist, in Insert´s Where Bedingungen anzuhängen.
In meinem Programm sollen Länder in eine Tabelle eingefügt werden. Die Tabelle Angreifer besteht aus den Spalten ip (IP Adressen) und land (Länder-Code aus denen die Adressen stammen z.B. DE,AT) . Wird ein Land gefunden, soll es dort eingefügt werden, wo die IP Adresse in der Tabelle übereinstimmt. Die Tabelle ist bereits mit allen IP Adressen gefüllt und alle land Einträge sind "None".
Beispiel. für die IP Adresse A wurde das Land B gefunden. Nun soll das Land B in der Tabelle Angreifer in genau der Zeile eingefügt werden, wo die IP Adresse A schon vorhanden ist. Das habe ich so gelöst:
Code: Alles auswählen
cursor.execute("""INSERT INTO Angreifer(land) VALUES(country) WHERE "Angreifer.ip = gefundene_Landes_IP" """)
Sind Where Bedingungen hier nicht möglich? Wenn ja, wie könnte das Problem sonst gelöst werden? Habe mir schon ein paar Gedanken zu Alternativen gemacht und folgendes Prinzip erdacht:
Land gefunden (das geschieht in Python) => finde die Zeile in der gilt:"IP Adresse für das gefundene Land = Eintrag in Spalte ip" => Zeilennummer auslesen (über Zeilenindex? mit Schlüssel?) => in Spalte mit dem gefundenen Index das Land in Spalte land einfügen.
Geht es auch einfacher? Wie kann ich denn den Spaltenindex(sprich die Nummer) auslesen und, falls es bisher funktioniert, brauche ich anschließend nicht wieder eine WHERE Bedingung (füge dort Land ein wo Zeilenindex.ip = IP)?