File tree Expand file tree Collapse file tree
src/main/java/dev/mayankg/db_concepts/mysql/exc07 Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ -- MySQL Triggers Basic Syntax
2+ DELIMITER $$
3+
4+ CREATE TRIGGER trigger_name
5+ trigger_time trigger_event ON table_name FOR EACH ROW
6+ BEGIN
7+ END;
8+ $$
9+
10+ DELIMITER ;
11+
12+ -- show all triggers
13+ SHOW TRIGGERS;
14+
15+ -- drop trigger
16+ DROP TRIGGER IF EXISTS trigger_name;
17+
18+
19+ -- MySQL Trigger Example1
20+ DELIMITER $$
21+
22+ CREATE TRIGGER must_be_adult
23+ BEFORE INSERT ON users FOR EACH ROW
24+ BEGIN
25+ IF NEW .age < 18
26+ THEN
27+ SIGNAL SQLSTATE ' 45000'
28+ SET MESSAGE_TEXT = ' Must be an adult!' ;
29+ END IF;
30+ END;
31+ $$
32+
33+ DELIMITER ;
34+
35+
36+ -- MySQL Trigger Example2
37+ DELIMITER $$
38+
39+ CREATE TRIGGER example_cannot_follow_self
40+ BEFORE INSERT ON follows FOR EACH ROW
41+ BEGIN
42+ IF NEW .follower_id = NEW .followee_id
43+ THEN
44+ SIGNAL SQLSTATE ' 45000'
45+ SET MESSAGE_TEXT = ' Cannot follow yourself, silly' ;
46+ END IF;
47+ END;
48+ $$
49+
50+ DELIMITER ;
51+
52+ -- MySQL Trigger Example3
53+ DELIMITER $$
54+
55+ CREATE TRIGGER create_unfollow
56+ AFTER DELETE ON follows FOR EACH ROW
57+ BEGIN
58+ INSERT INTO unfollows
59+ SET follower_id = OLD .follower_id ,
60+ followee_id = OLD .followee_id ;
61+ END$$
62+
63+ DELIMITER ;
64+
65+
You can’t perform that action at this time.
0 commit comments