Questa è la spiegazione di ON DUPLICATE KEY UPDATE sul sito di mysql, ed è proprio quello che servirebbe a me per fare l'update di una riga, ma non riesco a capire la sintassi.

INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]
[INTO] tbl_name [(col_name,...)]
VALUES ({expr | DEFAULT},...),(...),...
[ ON DUPLICATE KEY UPDATE col_name=expr, ... ]



If you specify the ON DUPLICATE KEY UPDATE clause (new in MySQL 4.1.0), and a row is inserted that would cause a duplicate value in a UNIQUE index or PRIMARY KEY, an UPDATE of the old row is performed. For example, if column a is declared as UNIQUE and already contains the value 1, the following two statements have identical effect:

mysql> INSERT INTO table (a,b,c) VALUES (1,2,3)
-> ON DUPLICATE KEY UPDATE c=c+1;

mysql> UPDATE table SET c=c+1 WHERE a=1;

Questo è la parte di script in questione:

Codice PHP:
$query = "INSERT INTO stw_records(game_ID, recordman, points)
VALUES('
$_POST[game_ID]', '$_POST[recordman]', '$_POST[points]')
ON DUPLICATE KEY UPDATE"
;
$rec = mysql_query($query)
or die(
"Query non valida: " . mysql_error());
La chiave primaria è game_ID e vorrei far sì che quando si inserisce una riga con game_ID già presente, venga sovrascritta la precedente.
Lasciando in questo modo mi compare:

Query non valida: 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 KEY UPDATE' at line 3
Ho provato a modificarlo in maniera identica all'esempio per fare una prova scrivendo:

Codice PHP:
$query = "INSERT INTO stw_records(game_ID, recordman, points)
VALUES('
$_POST[game_ID]', '$_POST[recordman]', '$_POST[points]')
ON DUPLICATE KEY UPDATE points=points+1"
;
$rec = mysql_query($query)
or die(
"Query non valida: " . mysql_error());
ma continua a dare errore.

Che cosa sbaglio? Qual è la giusta sintassi? Come posso fare per far aggiornare una riga? Aiutoooooo!!!