sql >> Database >  >> RDS >> Mysql

VERVANG versus INSERT in SQL

Volgens de documentatie , het verschil is:

Dus wat het doet:

  • Probeer de rij te matchen met een van de beschikbare indexen;
  • Als de rij nog niet bestaat:voeg een nieuwe toe;
  • Als de rij al bestaat:verwijder de bestaande rij en voeg daarna een nieuwe toe.

Wanneer kan het nuttig zijn om dit te gebruiken in plaats van afzonderlijke insert en update uitspraken?

  • Je kunt dit gerust aanroepen en je hoeft je geen zorgen te maken over bestaande rijen (één statement versus twee);
  • Als u wilt dat gerelateerde gegevens worden verwijderd bij het inserting / updating , kunt u replace . gebruiken :het verwijdert ook alle gerelateerde gegevens);
  • Wanneer triggers moeten worden geactiveerd en u een insert verwacht (slechte reden, oké).


  1. ...mysql2/mysql2.so:[BUG] Segmentatiefout ruby ​​2.0.0p247

  2. Strongloop:filter gegevens met [en] en [of] voorwaarden samen

  3. docker-compose rails rake db:reset mislukt, kan de momenteel geopende database niet laten vallen

  4. Transactieprioriteit?