MySQLdb,Python原始查询和自定义的ORDER BY

问题描述

|| 我正在尝试执行以下操作:
query = \"SELECT * FROM table ORDER BY %s %s\"
parameters = [\'avg\',\'DESC\']
但是参数未正确映射。
SELECT * FROM table ORDER BY \'avg\' \'DESC\'
代替
SELECT * FROM table ORDER BY avg DESC
你知道为什么吗 ?     

解决方法

使用这个:
\"SELECT * FROM table ORDER BY %s %s\" % (\'avg\',\'DESC\')
应该可以。     ,您不能使用参数动态指定字段名称。它们仅指定值。