如何从python中的mysql查询中转义%.
例如
query = """SELECT DATE_FORMAT(date_time,'%Y-%m') AS dd
FROM some_table
WHERE some_col = %s
AND other_col = %s;"""
cur.execute(query, (pram1, pram2))
Run Code Online (Sandbox Code Playgroud)
给我一个"ValueError:不支持的格式字符'Y'"异常.
如何让mysqldb忽略%?在任何文档中都看不到这一点.
我该如何正确地做到这一点:
我想做这样的查询:
query = """SELECT * FROM sometable
order by %s %s
limit %s, %s;"""
conn = app_globals.pool.connection()
cur = conn.cursor()
cur.execute(query, (sortname, sortorder, limit1, limit2) )
results = cur.fetchall()
一切正常但%s%s的顺序并没有正确地输入字符串.它将两个替换放在它们周围的引号中.
所以最终结果如下:
ORDER BY 'somecol' 'DESC'
哪个错了应该是:
ORDER BY somecol DESC
任何帮助非常感谢!