例如,当我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
为?
)