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

Jaké jsou praktické rozdíly mezi `REPLACE` a `INSERT ... ON DUPLICATE KEY UPDATE` v MySQL?

REPLACE interně provede odstranění a poté vložení. To může způsobit problémy, pokud máte omezení cizího klíče směřující na tento řádek. V této situaci REPLACE může selhat nebo ještě hůř:pokud je váš cizí klíč nastaven na kaskádové mazání, REPLACE způsobí smazání řádků z jiných tabulek. To se může stát, i když byla podmínka splněna před i po REPLACE operace.

Pomocí INSERT ... ON DUPLICATE KEY UPDATE se tomuto problému vyhýbá, a proto je preferován.



  1. 4 Úžasné zdroje monitorování SQL Serveru pro správce databází

  2. Získat velikost velkého objektu v dotazu PostgreSQL?

  3. Jak funguje operátor SOUNDS LIKE v MySQL

  4. „Závažná chyba interního připojení“ při provádění nativně kompilované uložené procedury v SQL Server 2019 (známá chyba)