sql >> Databáze >  >> RDS >> Mysql

REPLACE versus INSERT v SQL

Podle dokumentace , rozdíl je:

Co to tedy dělá:

  • Zkuste porovnat řádek pomocí jednoho z dostupných indexů;
  • Pokud řádek ještě neexistuje:přidejte nový;
  • Pokud řádek již existuje:odstraňte stávající řádek a poté přidejte nový.

Kdy by se toto použití mohlo stát užitečným přes samostatné insert a update prohlášení?

  • Toto můžete bezpečně zavolat a nemusíte se starat o existující řádky (jeden příkaz vs. dva);
  • Pokud chcete, aby související data byla při inserting odstraněna / updating , můžete použít replace :smaže také všechna související data);
  • Když je třeba spustit pravidla a očekáváte insert (špatný důvod, dobře).


  1. K zobrazení seznamu tabulek v Management Studio je vyžadováno oprávnění

  2. Mysql víceřádkový příkaz insert-select s last_insert_id()

  3. Sloučení zřetězení sloupců JSON(B) v dotazu

  4. JDBC:Mohu sdílet připojení ve vícevláknové aplikaci a užívat si pěkné transakce?