标签:触发器 old 第一天 高级 emp MYSQL new operate id
触发器:
一、概述
1、介绍:
触发器是与表相关的数据库对象,指在insert/update/delete之前或之后,触发并执行触发器中定义的SQL语句集合,触发器的这种特性可以协助应用在数据库端确保数据的完整性、日志记录、数据校验等操作。
使用别名OLD和NEW来引用触发器中发生变化的记录内容,这和其它数据库是相似的,现在触发器还只支持行级触发,不支持语句级触发。
触发器类型 | NEW和OLD的使用 |
INSERT触发器 | NEW表示将要或者已经新增的记录数据 |
UPDATE触发器 | OLD表示更新之前的记录数据,NEW表示将要或者已经更新的记录数据 |
DELETE触发器 | OLD表示将要或者已经删除的记录数据 |
二、语法:
1、创建:
--UPDATE触发器 delimiter $; create trigger emp_update_trigger after update on emp for each row begin insert into emp_logs(id,operation,operate_time,operate_id,operate_params) values(null,'update',now(),new.id,concat('修改前:(id',old.id,',name:',old.name,',age',old.age,',salary:',old.salary,'),修改 后:(id:',new.id,',name:',new.name,',age:',new.age,',salary:',new.salary,')')); end$
--INSERT触发器 delimieter $; create trigger emp_insert_trigger after insert on emp for each row begin insert into emp_logs(id,operation,operate_time,operate_id,operate_params) values(null,'insert',now(),new.id,concat('插入后(id:',new.id,',name:',new.name,',age:',new.age,',salary:',new.salary,')')); end$
--DELETE触发器 delimiter $; create trigger emp_delete_trigger after delete on emp for each row begin insert into emp_logs(id,operation,operate_time,operate_id,operate_params) values(null,'delete',now(),old.id,concat('删除前:(id:',old.id,',name:',old.name,',age',old.age,',salary:',old.salary,')')); end$
2、删除:
drop trigger emp_delete_trigger
3、查看:
show triggers\G$
标签:触发器,old,第一天,高级,emp,MYSQL,new,operate,id 来源: https://www.cnblogs.com/haokan/p/16479363.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。