# 触发器
# 作用
触发器是一种特殊的存储过程,主要是通过「事件」来触发而被执行的。它可以强化约束,来维护数据的完整性和一致性,可以跟踪数据库内的操作从而不允许未经许可的更新和变化。触发器不能由用户显示调用,而是只有当出发时间发生并且被捕捉到后,才会被触发。
# 语句
// 创建触发器 create trigger trigger_name trigger_time trigger_event on tbl_name for each row trigger_stmt
Copied!
trigger_name
:标识触发器名称,由用户自定义trigger_time
:标识触发器的时机,取值可以是before
和after
tbl_name
:标识建立触发器的表名,即在哪张表上建立触发器trigger_stmt
:触发器的程序体,可以是一句SQL语句或者用begin
和end
包含的多条SQL语句,即触发后会执行的操作
可以建立6种触发器:before insert
、before update
、before delete
、after insert
、after update
、after delete
。
// 查看触发器 select * from information_schema.`triggers`; // 或者([]代表可省略) show triggers [from schema_name]; // 删除触发器 drop trigger trigger_name;
Copied!
schema_name
在这里指数据库名称,trigger_name
是触发器名称。