Within the body of a stored routine (procedure or function) or a
trigger, the value of LAST_INSERT_ID() changes
the same way as for statements executed outside the body of these
kinds of objects (see Section 12.11.3, “Information Functions”).
The effect of a stored routine or trigger upon the value of
LAST_INSERT_ID() that is seen by following
statements depends on the kind of routine:
If a stored procedure executes statements that change the
value of LAST_INSERT_ID(), the changed
value will be seen by statements that follow the procedure
call.
For stored functions and triggers that change the value, the value is restored when the function or trigger ends, so following statements will not see a changed value.

User Comments
Add your own comment.