Enligt dokumentationen , skillnaden är:
Så vad det gör:
- Försök att matcha raden med ett av de tillgängliga indexen;
- Om raden inte redan finns:lägg till en ny;
- Om raden redan finns:ta bort den befintliga raden och lägg till en ny efteråt.
När kan det vara användbart att använda detta över separat insert
och update
uttalanden?
- Du kan lugnt kalla detta, och du behöver inte oroa dig för befintliga rader (ett uttalande mot två);
- Om du vill att relaterade data ska tas bort när du
inserting
/update
, kan du användareplace
:den raderar också all relaterad data); - När utlösare måste aktiveras och du förväntar dig en
insert
(dåligt skäl, okej).