Zum Beispiel, wenn ich cursor.execute()
as documented:raw SQL gegen SQLite mit Django Ausführen führt in `Database: in der Nähe von "?": Syntax error`
>>> from django.db import connection
>>> cur = connection.cursor()
>>> cur.execute("DROP TABLE %s", ["my_table"])
django.db.utils.DatabaseError: near "?": syntax error
Wenn Django Argument Substitution nicht verwendet wird, um die Abfrage funktioniert wie erwartet:
>>> cur.execute("DROP TABLE my_table")
django.db.utils.DatabaseError: no such table: my_table
Was mache ich falsch? Wie kann ich parametrisierte Abfragen arbeiten lassen?
Hinweise:
- suffixing die Abfrage mit
;
nicht - Gemäß der Dokumentation hilft, sollte
%s
verwendet werden, nicht SQLite?
ist (Django übersetzt%s
zu?
)