A trigger is a named database object that activates automatically when a specified DML event (INSERT, UPDATE, DELETE) occurs on a table. Use triggers to enforce complex integrity rules, audit changes, or maintain derived data.
INSERT
, UPDATE
, DELETE
.CREATE TRIGGER trigger_name {BEFORE | AFTER} {INSERT | UPDATE | DELETE} ON table_name FOR EACH ROW BEGIN -- trigger logic using NEW.column or OLD.column END;
CREATE TABLE user_audit ( audit_id INT AUTO_INCREMENT PRIMARY KEY, user_id INT, action VARCHAR(20), action_at DATETIME ); DELIMITER $$ CREATE TRIGGER trg_user_insert AFTER INSERT ON users FOR EACH ROW BEGIN INSERT INTO user_audit (user_id, action, action_at) VALUES (NEW.user_id, 'INSERT', NOW()); END$$ DELIMITER ;
DELIMITER $$ CREATE TRIGGER trg_before_stock_update BEFORE UPDATE ON inventory FOR EACH ROW BEGIN IF NEW.quantity < 0 THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Stock cannot go negative'; END IF; END$$ DELIMITER ;
DROP TRIGGER IF EXISTS trg_user_insert;
DELIMITER
to wrap trigger bodies properly.Help others discover Technorank Learning by sharing your honest experience.
Your support inspires us to keep building!