Lire la documentation sur LAST_INSERT_ID()
Je suggérerais que la valeur ne soit mise à jour qu'après l'exécution du dernier déclencheur. J'ai également créé un déclencheur qui insère le résultat de LAST_INSERT_ID() dans une autre table et il insérerait toujours l'id de la ligne insérée par le INSERT déclaration avant ou 0 s'il n'y avait pas de INSERT précédent .
Depuis un déclencheur d'insertion ou de mise à jour, vous pouvez toujours faire référence à l'état après l'instruction en utilisant NEW.column où column est un nom de colonne de votre table. Voir la documentation pour des exemples