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

SOSTITUIRE rispetto a INSERIRE in SQL

Secondo la documentazione , la differenza è:

Quindi cosa fa:

  • Cerca di abbinare la riga utilizzando uno degli indici disponibili;
  • Se la riga non esiste già:aggiungine una nuova;
  • Se la riga esiste già:elimina la riga esistente e aggiungine una nuova in seguito.

Quando potrebbe essere utile utilizzarlo su insert separati e update dichiarazioni?

  • Puoi tranquillamente chiamare questo e non devi preoccuparti delle righe esistenti (un'istruzione contro due);
  • Se desideri che i dati correlati vengano rimossi durante l'inserting / update , puoi usare replace :cancella anche tutti i dati relativi);
  • Quando è necessario attivare i trigger e ti aspetti un inserting (cattiva ragione, ok).