需求 新建日志表
用于记录老师表的数据化情况 起个名字 teacher_log
需要的列 id operation msg
建老师日志表
CREATE TABLE teacher_log(
id INT PRIMARY KEY AUTO_INCREMENT,
operation VARCHAR(11) NOT NULL,
msg VARCHAR(200) NOT NULL
);
定义添加触发器
如果往老师表 teacher 中添加了数据 自动的做一条记录到老师日志表 teacher_log 中
DELIMITER !
CREATE TRIGGER teacher_insert_trigger
AFTER INSERT ON teacher
FOR EACH ROW
BEGIN
INSERT INTO teacher_log VALUES(NULL,'insert',CONCAT('添加数据:',new.name,'-',new.skill));
END !
DELIMITER ;
删除触发器
如果有老师数据被删除了 要添加记录到日志中
DELIMITER !
CREATE TRIGGER teacher_delete_trigger
AFTER DELETE ON teacher FOR EACH ROW
BEGIN
INSERT INTO teacher_log VALUES(
NULL,
'deletel',
CONCAT('删除了数据:',old.name,'-',old.skill)
);
END !
DELIMITER ;
修改触发器
DELIMITER !
CREATE TRIGGER teacher_update_trigger
AFTER UPDATE ON teacher FOR EACH ROW
BEGIN
INSERT INTO teacher_log VALUES(NULL,'update',CONCAT('原姓名:',old.name,',现姓名:',new.name,'原技能:',old.skill,',现技能:',new.skill));
END !
DELIMITER ;
触发器小结
每一行语句记得要有结束符号 new只在,添加,修改中有 old只在,删除,修改中有