簡體   English   中英

Python MySql executemany錯誤

[英]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()
  • 使用的軟件:
  • Python 2.7.4
  • 從MySQL-python-1.2.4b4.win32-py2.7安裝的MySql。 (“ 1.2.4b4”)
  • MySql'5.5.27-log'(在AWS RDS上)。

有任何想法嗎?

我還沒有測試您的代碼,但是僅通過查看它,就可以看出您正在用兩個%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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM