python mysql 注意

用MySQLdb模块取出数据表的后几条记录的时候理所当然的把sql语句写成了这种

1 num=10
2 sql = 'select * from table_name order by id desc limit %d'
3 
4 self.cursor.execute(sql,(num))

一运行就会发现报错,错误信息是

1 TypeError:%d format: a number is required,not str

原来是因为MySQLdb的字符串格式化方法跟python不一样,应该对所有的fields用%s格式化

所以这个错误的解决方法是把sql语句中的%d替换成%s。

posted @ 2013-08-11 10:57  lianw  阅读(168)  评论(0编辑  收藏  举报