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.