Python科学计算(第2版) (张若愚著) 完整pdf扫描版下载
错误提示:TypeError: %d format: a number is required, not str由于pymysql代码把插入的字段值都转换为了 str类型, 所以导致了把整形转换为了 str类型, 导致执行SQL语句时,系统提示数据类型不正确的错误
SQL语句:
kart_select_sql = 'insert into kandian_articles (user_id,logo,category_id,title,summary,content,views,collections,comments,supports,status,device,created_at,updated_at)values(%d,"%s",%d,"%s","%s","%s",%d,%d,%d,%d,%d,%d,"%s","%s")'
SQL执行:
self.cur.execute(kart_select_sql,(item['ask_field']['user_id'],item['ask_field']['logo'],item['ask_field']['category_id'],title,summary,content,item['ask_field']['views'],item['ask_field']['collections'],item['ask_field']['comments'],item['ask_field']['supports'],item['ask_field']['status'],item['ask_field']['device'],created_at,updated_at))
错误提示:
TypeError: %d format: a number is required, not str
原因:
由于pymysql代码把插入的字段值都转换为了 str类型, 所以导致了把整形转换为了 str类型, 导致执行SQL语句时,系统提示数据类型不正确的错误
解决:
如果自己有能力可以修改pymysql源码,如果没有能力,那我们书写时所有的占位符都用%s,不用%d。把字段值也都按照字符串处理
转载请注明:谷谷点程序 » python3.7 pymysql TypeError:%d format:a number is required, not str