创建触发器
CREATE TRIGGER trigger_name trigger_time trigger_event ON tb_name FOR EACH ROW trigger_stmt
trigger_name:触发器的名称
tirgger_time:触发时机,为BEFORE或者AFTER
trigger_event:触发事件,为INSERT、DELETE或者UPDATE
tb_name:表示建立触发器的表明,就是在哪张表上建立触发器
trigger_stmt:触发器的程序体,可以是一条SQL语句或者是用BEGIN和END包含的多条语句
所以可以说MySQL创建以下六种触发器:
BEFORE INSERT,BEFORE DELETE,BEFORE UPDATE
AFTER INSERT,AFTER DELETE,AFTER UPDATE
单条语句的触发器
每当在sc中插入数据时就往time表中插入当前时间的数据
create trigger trig1 after insert on sc work for each row insert into time values(now());
创建多条语句的触发器:
在SC表更新成绩时,若成绩小于0,则更新成绩为0,若成绩大于100,则更新成绩为100
DELIMITER