sql >> Database teknologi >  >> RDS >> Mysql

REPLACE versus INSERT i SQL

Ifølge dokumentationen , forskellen er:

Så hvad det gør:

  • Prøv at matche rækken ved hjælp af et af de tilgængelige indekser;
  • Hvis rækken ikke allerede eksisterer:tilføj en ny;
  • Hvis rækken allerede eksisterer:Slet den eksisterende række og tilføj en ny bagefter.

Hvornår kan det være nyttigt at bruge dette over separat insert og update udsagn?

  • Du kan roligt kalde dette, og du behøver ikke at bekymre dig om eksisterende rækker (én sætning vs. to);
  • Hvis du ønsker, at relaterede data skal fjernes, når du inserting / update , kan du bruge replace :det sletter også alle relaterede data);
  • Når triggere skal udløses, og du forventer en insert (dårlig grund, okay).


  1. Oracle:Hurtigste måde i PL/SQL at se, om der findes værdi:Liste, VARRAY eller Temp Tabel

  2. At finde en gennemsnitlig SQL

  3. Valg af tilgængelige tidsrum for en bestemt dato

  4. Er Google Data Analytics Professional-certifikatet det værd?