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