Angesichts der Postgres Abfrage umgewandelt:Postgres: nicht alle Argumente während Zeichenfolge Formatierung
INSERT INTO net.bgp_communities (comm_name, comm_value) VALUES (%s, %s) ;
und die Daten
('blabla', 'target:*:*')
die resultierende Abfrage (mit mogrify
)
INSERT INTO net.bgp_communities (comm_name, comm_value) VALUES ('blabla', 'target:*:*') ;
die Ursachen
TypeError('not all arguments converted during string formatting',)
Ich glaube, dass der Fehler aus dem Tupel nicht ,
am Ende kommt? Aber wie kann das gelöst werden?
EDIT:
beschreibt, wie die Abfrage zusammen mit dem Tupel gerendert wird mit psycopg2
curs.executemany("""INSERT INTO net.bgp_communities (comm_name, comm_value) VALUES (%s, %s)""", msg)
Das abschließende ',' am Ende eines 'Tupel' ist nur erforderlich, wenn das Tupel nur ein Element hat. Z.B. '('a',)' ist ein Tupel, '('a')' nicht. – Kendas
danke! eine Idee, wer zu entkommen gegeben, wie 'psycopg2' die Abfrage rendert? – iamsterdam
Bitte zeigen Sie den genauen Aufruf von 'mogrify' an, der den Fehler verursacht. – chepner