需求 新建日志表

用于记录老师表的数据化情况 起个名字 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只在,删除,修改中有