MySQL事件触发器--好文推荐

感谢 lxgwm2008 对MySQL之Event的分享,特此收藏, 查看文章; 最近工作正好需要用到这样的需求. 

以下是简单应用

 

-- 查询事件触发器开关
-- SHOW VARIABLES LIKE 'event_sc%';

-- 打开触发器开关
SET GLOBAL event_scheduler = 1;

-- 测试存储过程
DROP PROCEDURE IF EXISTS `up_report_proc_4_event`;
CREATE PROCEDURE up_report_proc_4_event ()
BEGIN
	-- **************************************** --
	-- ********* 要执行的语句内容 ************* --
	-- **************************************** --

	-- 表结构
	-- DROP TABLE IF EXISTS `t_event_test`;
	-- CREATE TABLE `t_event_test` (
	-- 	`id` int(11) NOT NULL AUTO_INCREMENT,
	-- 	`val` varchar(100) NOT NULL,
	-- 	PRIMARY KEY (`id`)
	-- ) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;

	INSERT INTO 
	VALUES
		(NULL, NOW());
END;

-- 触发器, 每隔5秒执行一次存储过程 `up_report_proc_4_event`
DROP EVENT IF EXISTS up_report_proc_4_event;
CREATE EVENT up_report_proc_4_event ON SCHEDULE EVERY 5 SECOND ON COMPLETION PRESERVE DO
	CALL up_report_proc_4_event ();

-- 将事件调度器为用户授权
-- root 用户名
-- iwifi 目标数据库
GRANT EVENT ON iwifi.* TO root;

-- 开启事件
ALTER EVENT up_report_proc_4_event ON COMPLETION PRESERVE ENABLE;

-- ---------------------------------------------------------
-- 查询触发器信息
SELECT
	* 
	-- 	e.LAST_ALTERED,
	-- 	e.LAST_EXECUTED
FROM
	INFORMATION_SCHEMA. EVENTS e
WHERE
	EVENT_NAME = 'up_report_proc_4_event';

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值