truehumandesign hat geschrieben:
die LFDNR ist ein Feld mit 8 Zahlen in der Datenbank
OK. jetzt sollten wir erst einmal das Statement aufräumen. Du hast da meiner Meinung nach mehrere unnötige Anführungszeichen und Klammern verteilt.
Als flexiblen Teil benötigst du also das '12345678/'. Das wird also im Python-Code der Teil, der den Platzhalter bekommt.
Der Wert, der an %s übergeben wird besteht aus einem eingegebenen Wert und einem folgenden Slash.
Jetzt muss man nur noch das Statement ausführen. Wichtig ist, dass die zu ersetzenden Werte in einem Statement nicht als einzelne Parameter, sondern in einer Liste oder einem Tupel angegeben werden.
Code: Alles auswählen
cur.excute('UPDATE tmp_foo SET AMNR = %s || LFDNR', (value, ))
So weit zum technischen. Logisch habe ich allerdings ein Problem mit dem Konstrukt. Du baust dir da eine nicht erforderliche Redundanz ein. Oder soll die LFDNR als Teil des Felds AMNR nur ein Default-Wert sein der später überschrieben werden kann?