Leyendo la documentación en LAST_INSERT_ID()
Sugeriría que el valor solo se actualice después de que se ejecute el último activador. También creé un disparador que inserta el resultado de LAST_INSERT_ID() en otra tabla y siempre insertaría la identificación de la fila insertada por INSERT declaración antes de o 0 si no hubo INSERT anterior .
Desde dentro de un disparador de inserción o actualización, siempre puede hacer referencia al estado después de la declaración usando NEW.column donde column es un nombre de columna de su tabla. Consulte la documentación para ver ejemplos