Båda REPLACE INTO och ON DUPLICATE KEY alternativ som föreslås är icke-standard SQL från MySQL-varianten. Så om du använder det beror på a) om du använder MySQl och b) om du vill vara bunden till den varianten.
ANSI SQL definierar en MERGE syntax som är mer standard, om den är implementerad på din plattform