sql >> Base de Datos >  >> RDS >> Mysql

REEMPLAZAR versus INSERTAR en SQL

Según la documentación , la diferencia es:

Entonces, qué hace:

  • Intente hacer coincidir la fila con uno de los índices disponibles;
  • Si la fila aún no existe:agregue una nueva;
  • Si la fila ya existe:elimine la fila existente y agregue una nueva después.

¿Cuándo podría ser útil usar esto en lugar de insert separado? y update declaraciones?

  • Puede llamar a esto de forma segura y no tiene que preocuparse por las filas existentes (una instrucción frente a dos);
  • Si desea que se eliminen los datos relacionados al inserting / updating , puede usar replace :también elimina todos los datos relacionados);
  • Cuando los activadores deben activarse y espera un insert (mala razón, está bien).