Dette burde virke og er lidt mere elegant:
INSERT INTO TABLENAME(col1, col2)
VALUES ('xxx', 'yyy')
ON DUPLICATE KEY UPDATE col1 = VALUES(col1)
Bemærk, at du ikke behøver at opdatere den primære nøgledel af rækken. Vi ved, at det er det samme, fordi der var en kollision.