Gemäß der Dokumentation , der Unterschied ist:
Was es also tut:
- Versuchen Sie, die Zeile mit einem der verfügbaren Indizes abzugleichen;
- Falls die Zeile noch nicht existiert:füge eine neue hinzu;
- Wenn die Zeile bereits existiert:löschen Sie die vorhandene Zeile und fügen Sie anschließend eine neue hinzu.
Wann könnte dies über separates insert
sinnvoll sein und update
Aussagen?
- Sie können dies sicher aufrufen und müssen sich keine Gedanken über vorhandene Zeilen machen (eine Anweisung gegenüber zwei);
- Wenn Sie möchten, dass zugehörige Daten beim
inserting
entfernt werden /updating
, können Siereplace
verwenden :Es löscht auch alle zugehörigen Daten); - Wenn Trigger ausgelöst werden müssen und Sie ein
insert
erwarten (schlechter Grund, okay).