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