Un trigger MySQL este un obiect asociat unei tabele, care se execută automat când are loc o anumită acțiune (INSERT, UPDATE sau DELETE), înainte sau după acea acțiune.
Pentru a crea trigger-e ai nevoie de privilegiul TRIGGER pe baza de date (pe găzduirea shared, acesta este de regulă disponibil pentru utilizatorul bazei tale).
Exemplu
-- creează o tabelă
CREATE TABLE people (age INT, name VARCHAR(150));
-- trigger care corectează vârstele negative la 0, înainte de INSERT
DELIMITER //
CREATE TRIGGER agecheck BEFORE INSERT ON people
FOR EACH ROW
BEGIN
IF NEW.age < 0 THEN SET NEW.age = 0; END IF;
END//
DELIMITER ;
-- test
INSERT INTO people VALUES (-20, 'Sid'), (30, 'Josh');
SELECT * FROM people;
-- age: 0 (Sid), 30 (Josh)
Poți administra trigger-ele și din phpMyAdmin, tab-ul Triggers al bazei de date.