Ein psycopg2-Cursor verwendet eine Zeichenfolge mit ausgeblendeten Teilzeichenfolgen, die text/char/varchar-Werte darstellen. Zum Beispiel wird eine gespeicherte Prozeduren zu verwenden, die in eine Tabelle einfügt:Unescaped-Zeichenfolge in Python interpolieren
cur.execute('SELECT insert_profile("name", "favorite color example")')
Mein Problem tritt auf, wenn ich versuche, String-Interpolation zu verwenden Variable die Zeichenfolge einzufügen, die an die Ausführungsfunktion übergeben wird.
Ich habe versucht, doppelte Anführungszeichen für die Variablen und einfache Anführungszeichen im String-Literal zu verwenden, aber dies führt nur die übliche Operation aus. ZB:
name = "Harry"
color = "Blue"
cur.execute('SELECT insert_profile({0}, {1})'.format(name, color)
Ich habe auch die Variablen Nest versucht, aber es fügt den wörtlichen geschachtelten String in die Datenbank:
name = "'Harry'"
color = "'Blue'"
Was ist der richtige Ansatz? Entschuldigung, wenn die Antwort irgendwo anders auf SO oder im Internet ist. Ich hatte keinen Erfolg, mich umzusehen.