たとえば、cursor.execute()
文書化されているように使用する場合:
>>> from django.db import connection
>>> cur = connection.cursor()
>>> cur.execute("DROP TABLE %s", ["my_table"])
django.db.utils.DatabaseError: near "?": syntax error
Djangoの引数置換が使用されていない場合、クエリは期待どおりに機能します。
>>> cur.execute("DROP TABLE my_table")
django.db.utils.DatabaseError: no such table: my_table
私は何が間違っているのですか?パラメータ化されたクエリを機能させるにはどうすればよいですか?
ノート:
- クエリにサフィックスを付けて
;
も効果はありません - ドキュメントによると、
%s
SQLiteではなく使用する必要があります?
(Djangoはに変換%s
され?
ます)