Ich versuche, den Wert der Variablen test_text in eine Postgres 9.6-Datenbank einzufügen, jedes Mal, wenn die Funktion database_insert ausgelöst wird.Psycopg2 - nicht alle Argumente, die während der Formatierung der Zeichenfolge konvertiert wurden
Ich verwende Python 3.6 und psycopg2 v 2.7
Wenn ich den Code unten, ohne den Platzhalter verwenden: zB% s ersetzen mit 'Test' und entfernen, (test_text) - es funktioniert, wie ich erwarten würde. ..
def database_insert(update):
test_text = 'This is some test text'
with psycopg2.connect("DB CONNECTION DETAILS ARE HERE'") as conn:
cur = conn.cursor()
cur.execute("INSERT INTO test VALUES(%s);", (test_text))
conn.commit()
cur.close()
conn.close()
jedoch, wenn die Funktion den Wert der test_text Variable einfügen trys% s Platzhalter verwenden, ich den Fehler unten bekommen ...
cur.execute("INSERT INTO test VALUES(%s);", (test_text))
TypeError: not all arguments converted during string formatting
Jede Hilfe auf, wohin ich gehe w rong mit diesem wird sehr geschätzt!
Ich kann nicht glauben, dass es so eine einfache Lösung war - ich habe buchstäblich stundenlang gesucht, wie ich das beheben kann, Danke Bernie! Ich werde als richtige Antwort markieren, sobald dies mich - Frohe Weihnachten! –
Frohe Weihnachten euch auch Mann! Glückliche Kodierung – bernie