1。 首先mysql必須使用5.1.X以上的版本,因爲只有在該版本之上,mysql才提供 存儲過程以及EVENT(事件)支持。
查看mysql版本可以使用命令:SELECT VERSION(); 進行查看。
2。 分別使用 SHOW VARIABLES LIKE 'performance_schema'; 以及 SHOW VARIABLES LIKE 'event_scheduler'; 命令,查看
這倆個數值的狀態,均需要 爲 NO 時,才能正常使用。默認狀態爲 OFF,請自行上網查詢命令,修改其狀態爲 NO 即可。
eg: SET GLOBAL event_scheduler=1 修改事件命令。
3. 直接使用SQLYog等客戶端連接工作,執行如下命令創建對象。
創建一個存儲過程的例子命令,如下:
DELIMITER $$
CREATE
/*[DEFINER = { user | CURRENT_USER }]*/
PROCEDURE `test`.`cleanCaptcha`()
/*LANGUAGE SQL
| [NOT] DETERMINISTIC
| { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }
| SQL SECURITY { DEFINER | INVOKER }
| COMMENT 'string'*/
BEGIN
DELETE FROM ANNOUNCEMENT WHERE TIMESTAMPDIFF(MINUTE,CREATE_TIME,NOW())>3;
END$$
DELIMITER ;
創建一個event事件命令,如下:
-- 創建事件 event:event_name
CREATE EVENT cleanCaptchaEvent
-- 該事件從2013-01-23 00:30:00開始每5分鐘執行一次
ON SCHEDULE EVERY 5 MINUTE STARTS NOW()
ON COMPLETION PRESERVE
-- 調用上面寫的 PROCEDURE
DO CALL cleanCaptcha();
//
DELIMITER ;
4。 使用 SELECT * FROM information_schema.`EVENTS` 命令可以查看具體event執行的相關信息。
5。 以上方式操作後,就能實現mysql數據庫自行定時調用存儲過程。