11 Stimmen

Kann die sqlite3-Parametersubstitution mit PRAGMA nicht verwendet werden?

Ich versuche, die user_version einer SQLite-Datenbank über Python 2.6, und ich habe versucht, das folgende zu tun:

cur.execute( "PRAGMA user_version = ?" , (version,) )

Er schlägt mit der folgenden Fehlermeldung fehl:

    cur.execute( "PRAGMA user_version = ?" , (version,) )
sqlite3.OperationalError: near "?": syntax error

Ich habe versucht, den benannten Stil der Ersetzung (anstelle von Fragezeichen), aber das auch nicht mit dem gleichen Fehler.

Wenn ich eine Zahl in dort als Teil der SQL-Zeichenfolge oder mit Python's String-Operationen es funktioniert alles gut, aber ich würde lieber nicht tun, entweder von denen.

Warum funktioniert das also nicht?
Und wie kann ich eine Zahl aus einer Variablen sicher in diesen Aufruf einfügen?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X