Podle dokumentace , rozdíl je:
Co to tedy dělá:
- Zkuste porovnat řádek pomocí jednoho z dostupných indexů;
- Pokud řádek ještě neexistuje:přidejte nový;
- Pokud řádek již existuje:odstraňte stávající řádek a poté přidejte nový.
Kdy by se toto použití mohlo stát užitečným přes samostatné insert
a update
prohlášení?
- Toto můžete bezpečně zavolat a nemusíte se starat o existující řádky (jeden příkaz vs. dva);
- Pokud chcete, aby související data byla při
inserting
odstraněna /updating
, můžete použítreplace
:smaže také všechna související data); - Když je třeba spustit pravidla a očekáváte
insert
(špatný důvod, dobře).