2、计划任务状态
show variables like '%event%'
3、使用下列的任意一句开启计划任务:
SET GLOBAL event_scheduler = ON
SET @@global.event_scheduler = ON
SET GLOBAL event_scheduler = 1 -- 0代表关闭
SET @@global.event_scheduler = 1
4、创建event语法
help create event
5、实例
实例0:
每5分钟删除sms表上面ybmid为空白且createdate距现时间超过5分钟的数据。
USE test
CREATE EVENT event_delnull
ON SCHEDULE
EVERY 5 MINUTE STARTS '2012-01-01 00:00:00' ENDS '2012-12-31 00:00:00'
DO
DELETE FROM sms WHERE ybmid='' AND TIMEDIFF(SYSDATE(),createdate)>'00:05:00'
实例1:
每天调用存储过程一次:
mysql>delimiter //
mysql>create event updatePTOonSunday
->on schedule every 1 day
->do
->call updatePTO()
->//
Query OK, 0 rows affected (0.02 sec)
这里updatePTO()是数据库里自定义的存储过程
6、查看任务计划:
SELECT * FROM mysql.event\G
有时候在修改某一个字段的值得时候我们需要根据当前字段的不同状态进行不同处理,
比如对于用户表,我们需要记录下来用户被访问的次数,但访问次数的初始值为 null。
如下:
CREATE TABLE `test` (
`id` int(11) NULL DEFAULT NULL ,
`name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
`visit_num` int(11) NULL DEFAULT NULL
)
我们就可以使用如下的 sql 进行判断和修改
UPDATE test set visit_age=if(visit_num is null,1,visit_num+1) where id=1。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)