Ifølge dokumentationen , forskellen er:
Så hvad det gør:
- Prøv at matche rækken ved hjælp af et af de tilgængelige indekser;
- Hvis rækken ikke allerede eksisterer:tilføj en ny;
- Hvis rækken allerede eksisterer:Slet den eksisterende række og tilføj en ny bagefter.
Hvornår kan det være nyttigt at bruge dette over separat insert
og update
udsagn?
- Du kan roligt kalde dette, og du behøver ikke at bekymre dig om eksisterende rækker (én sætning vs. to);
- Hvis du ønsker, at relaterede data skal fjernes, når du
inserting
/update
, kan du brugereplace
:det sletter også alle relaterede data); - Når triggere skal udløses, og du forventer en
insert
(dårlig grund, okay).