Esto debería funcionar y es un poco más elegante:
INSERT INTO TABLENAME(col1, col2)
VALUES ('xxx', 'yyy')
ON DUPLICATE KEY UPDATE col1 = VALUES(col1)
Tenga en cuenta que no necesita actualizar la parte de la clave principal de la fila. Sabemos que es lo mismo porque hubo una colisión.