MySQL 8.0 参考手册  / 第25章存储对象  / 25.2 使用存储例程  /  25.2.4 存储过程、函数、触发器和 LAST_INSERT_ID()

25.2.4 存储过程、函数、触发器和 LAST_INSERT_ID()

在存储例程(过程或函数)或触发器的主体内,值的 LAST_INSERT_ID()更改方式与在这些对象的主体外执行的语句相同(请参阅第 12.16 节,“信息函数”)。存储例程或触发器对 LAST_INSERT_ID()以下语句所见的值的影响取决于例程的类型:

  • 如果存储过程执行更改值的语句,LAST_INSERT_ID()则更改后的值会被过程调用后的语句看到。

  • 对于更改值的存储函数和触发器,该值会在函数或触发器结束时恢复,因此以下语句看不到已更改的值。