Event In SQL
Last Updated: January 2026
An EVENT runs SQL automatically at a specific time or interval ⏰ Like a cron job inside database
Event = Scheduled Job
Enable Event Scheduler (MySQL)
SET GLOBAL event_scheduler = ON;
Check:
SHOW VARIABLES LIKE 'event_scheduler';
Event Syntax
CREATE EVENT event_name
ON SCHEDULE schedule
DO
BEGIN
SQL statements;
END;
Example 1: Run Once Event
Let Delete old records at midnight
CREATE EVENT delete_old_data
ON SCHEDULE AT '2026-01-15 00:00:00'
DO
DELETE FROM employee WHERE salary = 0;
Example 2: Repeating Event
Let Clean log table every day
CREATE EVENT daily_cleanup
ON SCHEDULE EVERY 1 DAY
DO
DELETE FROM salary_log
WHERE changed_at < NOW() - INTERVAL 30 DAY;
Event Options
| Option | Meaning |
|---|---|
EVERY 1 DAY | Runs daily |
EVERY 1 HOUR | Runs hourly |
STARTS | Start time |
ENDS | Stop time |
View Events
SHOW TRIGGERS;
️ Drop Event
DROP EVENT event_name;