【发布时间】:2013-08-10 19:00:16
【问题描述】:
我可以运行SET 语句来分配变量并在mySQL 会话中使用“事务”来维护它,但是当我像这样包含函数DATE_FORMAT 时:
cursor.execute("SET @dowToday:=CAST( DATE_FORMAT( NOW(), '%w' ) AS UNSIGNED);")
Django 抱怨
在执行中,/usr/lib/pymodules/python2.6/MySQLdb/cursors.py 中的格式字符串参数不足,第 151 行
删除 CAST 或使用或转义引号都无济于事。
想法?
【问题讨论】:
-
我猜这是 SQL 文本中的
%百分号。也许 Django 期望这是绑定变量占位符。要么,要么 Django 正在运行一些sprintf风格的函数,并期望%w是一个应该被一些参数值替换的占位符。也许有一种方法可以“转义”%,以便 Django 忽略它,并将其作为文字传递给 MySQL。 (我没有测试过,这真的只是一个猜测。)
标签: mysql django mysql-python