torndb(MySQLdb)查询参数不起作用

时间:2014-12-08 15:59:16

标签: python mysql mysql-python

像这样:

In [43]: conn.query('select %s from topic order by %s limit 2', 'id', 'id desc')
Out[43]: [{'id': u'id'}, {'id': u'id'}]
In [44]: conn.query('select id from topic order by id desc limit 2')
Out[44]: [{'id': 10L}, {'id': 9L}]

为什么结果不一样?

1 个答案:

答案 0 :(得分:1)

这是因为MySQLdb驱动程序将查询参数插入查询的方式。

第一个查询实际上已转换为(观察引号):

select 'id' from topic order by 'id desc' limit 2

'id'这是一个字符串,而不是列名。