需求数据表中有一个时间字段和一个状态字段如果当前时间超过了表中的时间就要把这条表记录的状态字段进行更改。代码定时任务会频繁的调用数据库不是很好直接交给数据库来完成。1、开启数据库的定时策略首先查看数据库的定时策略是否开启命令 show variables like event_scheduler;event_scheduler 为 OFF 表示并未开启然后执行开启开启命令命令SET GLOBAL event_scheduler ON;重新查看定时策略为ON 表示开启成功注意以上的改法在数据库重启后将会恢复为原来状态要想数据库重启后也可以让event_scheduler开启则需要在配置文件my.ini的设置。修改如下然后重启mysql服务即可。需要将配置加入 [mysqld]下event_schedulerON2、创建函数创建一个函数后将要改的sql放里面根据自己的业务修改update td_lk_report set report_state 3 where time_of_arrival NOW() and report_state 0;可以执行函数测试一下3、创建定时事件注意使用这种方案往往会带来一个问题刚创建的数据的状态是缺失的状态。可以结合触发器给上初始状态。完成