【发布时间】:2012-04-18 19:20:12
【问题描述】:
例如,当我使用cursor.execute() as documented:
>>> 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转换为?)
【问题讨论】:
标签: python django sqlite django-1.3