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 usarreplace:también elimina todos los datos relacionados); - Cuando los activadores deben activarse y espera un
insert(mala razón, está bien).