创建一个执行语句的触发器
CREATE TRIGGER 触发器名 [BEFORE|AFTER] 触发事件
ON 表名 FOR EACH ROW
执行语句
# 插入触发器:trigger
CREATE TRIGGER trig_book AFTER INSERT
ON t_book FOR EACH ROW
UPDATE t_book_type SET book_num=book_num+1 WHERE new.book_type_id=t_book_type.id;
# 注释 上文中 new 为过渡变量 代指新插入|更新的那条数据 删除为 old
# 测试例子
INSERT INTO t_book VALUES (NULL,'java hello',100,'ke',1);
创建多个执行语句的触发器
# 删除触发器
DELIMITER $$
CREATE TRIGGER trig_book2 AFTER DELETE
ON t_book FOR EACH ROW
BEGIN
UPDATE t_book_type SET book_num=book_num-1 WHERE old.book_type_id=t_book_type.id;
INSERT INTO t_log VALUES(NULL,NOW(),'在book表里删除了一条数据');
DELETE FROM t_test WHERE old.book_type_id=t_test.id;
END $$
DELIMITER;
# 上文中 old 为过渡变量 代指删除的那条数据 插入|更新为 new
# 测试例子
DELETE FROM t_book WHERE id=7
删除触发器
DROP TRIGGER trig_book;