Csak egy kis megjegyzés, mert ez félreérthetõ lehet, azért nem érdemes INSERT helyett REPLACE használni úgy általánosan, ahogy az ON DUPLCATE-el is van különbség.
A REPLACE ha azonos PK-t lát, akkor lényegében egy DELETE-t és egy INSERT-et csinál, a régi adat pedig már a REPLACE alatt sem érhetõ el (nem is olvassa be a régi sort, csak a PK indexet, emiatt egyébként gyors), vagy pl minden ON DELETE lefut, ha van FK ami oda mutat, stb. És ezen mellékhatások meglepetéseket okzohatnak.
Az ON DUPLICATE KEY UPDATE az tényleges UPDATE-t futtat, ha azonos PK-be ütközik.