Python SQLite, wie SQL-String-Anweisung ausgeführt wird

8

Nehmen wir an, wir haben eine SQL-Anweisung, die nur mit den Parametern abgeschlossen werden muss, bevor sie für die DB ausgeführt wird. Zum Beispiel:

%Vor%

Wie bekomme ich die Zeichenfolge, die analysiert und ausgeführt wird ?, etwa so:

%Vor%

In diesem einfachen Fall ist es nicht sehr wichtig, aber ich habe andere SQL-Anweisungen viel komplizierter, und zu Debugging-Zwecken möchte ich sie selbst in meinem sqlite-Manager ausführen und die Ergebnisse überprüfen.

Vielen Dank im Voraus

    
bgusach 30.11.2012, 13:55
quelle

3 Antworten

8

SQLite ersetzt niemals tatsächlich Parameter in die SQL-Abfragezeichenfolge selbst; Die Werte der Parameter werden direkt beim Ausführen des Befehls gelesen. (Wenn Sie diese Werte nur so formatieren, dass sie erneut in dieselben Werte zerlegt werden, wäre dies kein unnötiger Overhead.)

Aber wenn Sie herausfinden möchten, wie die Parameter in SQL geschrieben werden, können Sie die Funktion quote ; etwas wie das:

%Vor%

(Dieser Code schlägt fehl, wenn ein ? vorhanden ist, das kein Parameter ist, d. h. innerhalb einer literalen Zeichenfolge.)

    
CL. 30.11.2012, 14:42
quelle
1

AKTUALISIEREN. Ich habe von dieser Webseite erfahren, dass seit Python 3.3 das Drucken von ausgeführtes SQL mit

%Vor%     
holdenweb 04.03.2018 21:37
quelle
-1

Was ist mit der Formatierung der Zeichenfolge?

%Vor%     
peixe 30.11.2012 15:52
quelle

Tags und Links