用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。