要实现的功能是定时刷新一些数据,如每天半夜一点钟更新数据,可以用函数配合事件来自动更新

1.新建一个函数

MySql的函数和事件(navicat界面操作)_应用程序

MySql的函数和事件(navicat界面操作)_mysql_02

2.在begin 和 end 之间写你要执行的SQL

MySql的函数和事件(navicat界面操作)_重启_03

3.保存,并填入函数名

MySql的函数和事件(navicat界面操作)_应用程序_04

4.然后新建一个事件

MySql的函数和事件(navicat界面操作)_重启_05

MySql的函数和事件(navicat界面操作)_重启_06

MySql的函数和事件(navicat界面操作)_sql_07

MySql的函数和事件(navicat界面操作)_应用程序_08


然后保存这个事件,并填入事件名,保存时可能会出现错误提示“事件计划已关闭 事件只能在服务器启动“;

解决方案:
1.首先在sql中查询计划事件的状态:
​SHOW VARIABLES LIKE 'event_scheduler'​

2.如果是off,那代表mysql没开启事件计划,给它开启就好了

3.在mysql程序的目录下找到my.ini文件,添加一个项:
​event_scheduler = 1​

4.或者使用脚本来实现(推荐):

开启event_scheduler sql指令:

​SET GLOBAL event_scheduler = ON;​

相反,关闭event_scheduler指令:

​SET GLOBAL event_scheduler = OFF;​

保存后重启mysql服务即可,重启服务可以在服务管理里面找到

打开“计算机管理”,直接右键“计算机”点击“管理”就打开了
然后点击“服务和应用程序”,双击“服务”
找到MySql的服务,右键重新启动就可以了。