Mysql
 sql >> Baza danych >  >> RDS >> Mysql

REPLACE kontra INSERT w SQL

Według dokumentacji , różnica jest taka:

Więc co robi:

  • Spróbuj dopasować wiersz za pomocą jednego z dostępnych indeksów;
  • Jeśli wiersz jeszcze nie istnieje:dodaj nowy;
  • Jeśli wiersz już istnieje:usuń istniejący wiersz i dodaj nowy później.

Kiedy użycie tego może się przydać w porównaniu z osobnym insert i update oświadczenia?

  • Możesz to bezpiecznie wywołać i nie musisz się martwić o istniejące wiersze (jedna instrukcja kontra dwie);
  • Jeśli chcesz, aby powiązane dane zostały usunięte podczas inserting / update , możesz użyć replace :usuwa również wszystkie powiązane dane);
  • Kiedy wyzwalacze muszą zostać uruchomione, a oczekujesz insert (zły powód, dobrze).


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Utwórz i zaimportuj bazę danych mysql na współdzielonym hoście w php

  2. Prosty system oceny „lubię/nie lubię” w php i MySQL

  3. Czy ReadUncommitted może znać wszystkie NIŻSZE identyfikatory automatycznego zwiększania, które będą istnieć?

  4. wstawiaj dane z jednej tabeli do drugiej w mysql

  5. Proszę zainstalować adapter mysql 'gem install activerecord-mysql-adapter'