syntax-meldung bei ON DUPLICATE KEYS

helaukoenig

Erfahrenes Mitglied
Ich will in einen Tabelle eintragen, wobei bereits vorhandene Einträge nur geupdatet werden. Auf Anregung von GH@NDI arbeite ich dabei mit ON DUPLICATE KEYS, um Umwege über eine Abfrage und eine IF-ELSE-Konstruktion zu vermeiden

Code:
$query="INSERT INTO mahn.. (id, username, beleg, datum,
    amount, storno, stufe, bdatum, frist) VALUES ('$id', '$username',
   '$beleg', '$datum', '$summ', '$storno', '$stufe', '$bdatum', '$frist')
    ON DUPLICATE KEYS UPDATE datum ='$datum', amount = '$amount',
    storno = '$storno', bdatum=now(), frist = '$frist'";
    $result=mysql_query($query, $link) or die(mysql_error());

Schön und gut, aber leider bekomme ich immer wieder die Syntax-Fehlermeldung in der Nähe von ON DUPLICATE .. und ich soll doch das Handbuch checken. Woran liegt es?

Code:
You have an error in your SQL syntax.
    Check the manual that corresponds to your MySQL server version 
    for the right syntax to use near 'ON DUPLICATE KEYS UPDATE
    datum ='2005-10-17 11:00:00', amount = ..

oh scusi, nicht sauber getrennt, Frage gehört wohl eher in sql-Forum
 
Zurück