在触发器内,我尝试填充多个表并尝试获取每个表填充的开始和结束时间,正常运行时需要 4 分钟才能填充表,因此开始和结束时间有 4 分钟的差异。 但是,当通过填充触发表来触发时,它显示的开始和结束时间与触发时间相同,但我的表正在填充
表名称:表更新状态
预期结果
表名:开始时间:结束时间 XYZ: 03-05-2024 10:30:00: 03-05-2024 10:34:00
触发器中的实际结果
表名:开始时间:结束时间 XYZ: 03-05-2024 10:30:00: 03-05-2024 10:30:00
来自MySQL手册:
仅评估返回当前日期或时间的函数 在查询执行开始时每个查询一次。这意味着 在单个查询中多次引用函数(例如 NOW()) 总是产生相同的结果。 (出于我们的目的,单个查询也 包括对存储程序的调用(存储例程、触发器或 事件)以及该程序调用的所有子程序。)这个原则 也适用于 CURDATE()、CURTIME()、UTC_DATE()、UTC_TIME()、 UTC_TIMESTAMP() 及其任何同义词。
您将在此页面上找到参考,但您需要向下滚动。