[英]Python MySql executemany error
我在“ cusrosr.executemany()上遇到錯誤。插入單列的第一條語句(帶有recs1)執行良好,並且插入了兩條記錄。第二條插入(recs2)具有錯誤:
格式字符串的參數不足
sql="""CREATE TABLE TestTable (
Col1 VARCHAR(45) NULL ,
Col2 VARCHAR(45) NULL );"""
cursor.execute(sql)
recs1= [("Spam"), ("Ham")]
recs2= [("Spam", "Sausage"), ("Ham", "Plate")]
try:
cursor.executemany("""insert into TestTable (Col1) values (%s );""", recs1)
db.commit()
print "cursor.rowcount: ",cursor.rowcount
cursor.executemany("""insert into TestTable (Col1, Col2) values (%s , %s);""", recs2)
db.commit()
except Exception as e:
print 'Error: ', e
db.rollback()
有任何想法嗎?
我還沒有測試您的代碼,但是僅通過查看它,就可以看出您正在用兩個%s出現的字符串來填充字符串,而該值只有一個值-因此出現“格式字符串參數不足”錯誤。
您可能想要執行以下操作:
recs2, recs3 = [("Spam", "Sausage")], [("Ham", "Plate")]
cursor.executemany("""insert into TestTable (Col1, Col2) values (%s , %s);""", recs2, recs3)
同樣,我沒有進行任何測試,因此執行風險自負。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.