python中MySQL模塊TypeError: %d format: a number is required, not str異常解決


轉載自:http://www.codeif.com/topic/896

python代碼:

attr_sql = "INSERT INTO `ym_attribute` (`attr_name`, `type_id`, `attr_value`, `attr_show`, `attr_sort`) VALUES(%s, %s, %s, %s, %s)"
param = (product_attr, type_id, product_attr_v, '1', '1')
n = cursor.execute(attr_sql, param)

python執行上面的語句會報下面的錯誤:%d format: a number is required, not str。

最終在stackoverflow查到了問題的解決方案 
http://stackoverflow.com/questions/5785154/python-mysqldb-issues

答案為:The format string is not really a normal Python format string. You must always use %s for all fields. 也就是MySQLdb的字符串格式化不是標准的python的字符串格式化,應當一直使用%s用於字符串格式化


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM