2016-04-22 14 views
0

sqliteからmysqlへの移行中に、InsertまたはUpdateステートメントでスタックしました。私はmysqlが重複するキー更新を使用することを理解しています。ここに私がこれまでに持っているものはありますが、それは更新されません、それは最初の重複エントリで停止します。あなたはそれの意図に(ON DUPLICATE KEY UPDATEの前にセミコロンを見て)としてPython MySQLの変数の挿入または更新

with open('test.csv', 'rb') as csvfile: 
reader = csv.reader(csvfile, delimiter=';', quotechar='"') 
reader.next() 
for row in reader: 
    row[8]=datetime.datetime.strptime(row[8],"%d.%m.%Y").strftime("%Y-%m-%d") 
    cursor.execute("INSERT INTO TABLE (Umsatz,Waehrung,Kundenname,UstID,BUKey,Kundenkonto,Rechnungsnummer,Belegfeld2,Rechnungsdatum,Sachkonto,Belegtext,MwSt) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s); ON DUPLICATE KEY UPDATE", row) 

db.commit() 
+0

エラーについて教えてください。 –

答えて

0

あなたはdocumentationを見てする必要があり、あなたのクエリは動作しません。

INSERT INTO TABLE (  
    Umsatz, 
    Waehrung, 
    ... 
) VALUES (
    %s, 
    %s, 
    ... 
) ON DUPLICATE KEY UPDATE 
    -- here you need to specifiy what to update on duplicate key, see documentation 
; 
関連する問題