SHOW VARIABLES LIKE 'event_scheduler';
或html
SELECT @@event_scheduler;或
SHOW PROCESSLIST;若顯示:
SET GLOBAL event_scheduler = 1;或
SET GLOBAL event_scheduler = ON;來開啓,也能夠直接在啓動命令加上「–event_scheduler=1」,例如:
[mysqld]mysql
添加 event_scheduler=ONsql
建立事件(CREATE EVENT)USE test; CREATE TABLE aaa (timeline TIMESTAMP); CREATE EVENT e_test_insert ON SCHEDULE EVERY 1 SECOND DO INSERT INTO test.aaa VALUES (CURRENT_TIMESTAMP);等待3秒鐘後,再執行查詢成功。
CREATE EVENT e_test ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 5 DAY DO TRUNCATE TABLE test.aaa;3) 2007年7月20日12點整清空test表:
CREATE EVENT e_test ON SCHEDULE AT TIMESTAMP '2007-07-20 12:00:00' DO TRUNCATE TABLE test.aaa;4) 天天定時清空test表:
CREATE EVENT e_test ON SCHEDULE EVERY 1 DAY DO TRUNCATE TABLE test.aaa;5) 5天后開啓天天定時清空test表:
CREATE EVENT e_test ON SCHEDULE EVERY 1 DAY STARTS CURRENT_TIMESTAMP + INTERVAL 5 DAY DO TRUNCATE TABLE test.aaa;6) 天天定時清空test表,5天后中止執行:
CREATE EVENT e_test ON SCHEDULE EVERY 1 DAY ENDS CURRENT_TIMESTAMP + INTERVAL 5 DAY DO TRUNCATE TABLE test.aaa;7) 5天后開啓天天定時清空test表,一個月後中止執行:
CREATE EVENT e_test ON SCHEDULE EVERY 1 DAY STARTS CURRENT_TIMESTAMP + INTERVAL 5 DAY ENDS CURRENT_TIMESTAMP + INTERVAL 1 MONTH DO TRUNCATE TABLE test.aaa;
[ON COMPLETION [NOT] PRESERVE]能夠設置這個事件是執行一次仍是持久執行,默認爲NOT PRESERVE。數據庫
8) 天天定時清空test表(只執行一次,任務完成後就終止該事件):CREATE EVENT e_test ON SCHEDULE EVERY 1 DAY ON COMPLETION NOT PRESERVE DO TRUNCATE TABLE test.aaa;[ENABLE | DISABLE]但是設置該事件建立後狀態是否開啓或關閉,默認爲ENABLE。
[DO sql_statement]code
1) 臨時關閉事件ALTER EVENT e_test DISABLE;htm
2) 開啓事件ALTER EVENT e_test ENABLE;blog
3) 將天天清空test表改成5天清空一次:DROP EVENT [IF EXISTS] event_name事件
例如刪除前面建立的e_test事件DROP EVENT e_test;it
固然前提是這個事件存在,不然會產生ERROR 1513 (HY000): Unknown event錯誤,所以最好加上IF EXISTS DROP EVENT IF EXISTS e_test;