python插入数据库数据时,报错%d format: a number is required, not str


 

python使用pymysql连接数据库,如果报错  %d format: a number is required, not str,直接把类型改为  %r,表示不管什么类型的字段,原样输出

 

 

例如,我的数据表字段第一个示int类型,插入数据时,我把第一个字段设置为%d,死活都报错,最后改为%r,问题解决,真的是浪费时间啊.............................................................................

 

if __name__ == '__main__':
with MyConnectionPool() as db:
db.cursor.execute("select * from review")
db.conn.commit()
for row in db.cursor.fetchall():
print("nid:%d\t created_at:%s\t content:%s\t source:%s" % row)

insert_sql = "insert into review (nid,created_at,content,source) VALUES (%r,%s,%s,%s)"
insert_data = [(11,"2020.12.28","内容1","中国"),(22,"2020.12.29","2内容","riben")]
# db.cursor.executemany(insert_sql,insert_data)
with MyConnectionPool() as db:
db.cursor.executemany(insert_sql,insert_data)
db.conn.commit()
for row in db.cursor.fetchall():
print("nid:%d\t created_at:%s\t content:%s\t source:%s" % row)


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM