REPLACE
wewnętrznie wykonuje usuwanie, a następnie wstawianie. Może to powodować problemy, jeśli masz ograniczenie klucza obcego wskazujące na ten wiersz. W tej sytuacji REPLACE
może zawieść lub gorzej:jeśli twój klucz obcy jest ustawiony na kaskadowe usuwanie, REPLACE
spowoduje usunięcie wierszy z innych tabel. Może się to zdarzyć, nawet jeśli ograniczenie zostało spełnione zarówno przed, jak i po REPLACE
operacja.
Używanie INSERT ... ON DUPLICATE KEY UPDATE
pozwala uniknąć tego problemu i dlatego jest preferowany.