Isso deve funcionar e é um pouco mais elegante:
INSERT INTO TABLENAME(col1, col2)
VALUES ('xxx', 'yyy')
ON DUPLICATE KEY UPDATE col1 = VALUES(col1)
Observe que você não precisa atualizar a parte da chave primária da linha. Sabemos que é o mesmo porque houve uma colisão.