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
insertingentfernt werden /updating, können Siereplaceverwenden :Es löscht auch alle zugehörigen Daten); - Wenn Trigger ausgelöst werden müssen und Sie ein
inserterwarten (schlechter Grund, okay).