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

OptionMeaning
EVERY 1 DAYRuns daily
EVERY 1 HOURRuns hourly
STARTSStart time
ENDSStop time

View Events

SHOW TRIGGERS;

️ Drop Event

DROP EVENT event_name;