2016-04-22 5 views
0

Ich bin Migrieren von SQLite zu MySQL und blieb stecken mit einer Insert-oder Update-Anweisung. Ich verstehe, dass MySQL ON DUPLICATE KEY UPDATE verwendet. Hier ist, was ich bisher bekommen habe, aber es wird nicht aktualisiert, es stoppt beim ersten doppelten Eintrag.Python MySQL Einfügen oder Aktualisieren von Variablen

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

Sagt es über irgendwelche Fehler? –

Antwort

0

Sie müssen am documentation einen Blick haben, wird Ihre Anfrage nicht funktionieren, wie Sie Absicht, sie auf (Blick auf das Semikolon vor ON DUPLICATE KEY UPDATE).

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 
;