MySQL 8.4 参考手册  /  ...  /  存储过程、函数、触发器和 LAST_INSERT_ID()

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

在存储例程(过程或函数)或触发器的正文中,LAST_INSERT_ID() 的值会像在这些类型的对象正文之外执行的语句一样改变(参见 第 14.15 节,“信息函数”)。存储例程或触发器对 LAST_INSERT_ID() 值的影响取决于例程的类型。

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

  • 对于更改值的存储函数和触发器,当函数或触发器结束时,该值将被恢复,因此后续语句将看不到更改后的值。