目录
概述
语法
创建
create trigger trigger_name
before/after update/insert/delete
on table_name for each row
begin
#写要干什么
end;
查看
show triggers;
删除
drop trigger trigger_name;
insert
#在插入前要干什么
create trigger trigger_name
before insert on table_name
for each row
begin
#写要干什么
end
update
#在更新前要干什么
create trigger trigger_name
before update on table_name
for each row
begin
#写要干什么
end
delete
#在删除前要干什么
create trigger trigger_name
before delete on table_name
for each row
begin
#写要干什么
end
注意
不要再触发器中直接修改原表
Error Code: 1442. Can't update table 'student' in stored function/trigger because it is already used by statement which invoked this stored function/trigger.
原因
when you insert a record mysql is doing some lock stuff. you can't insert/update/delete rows of the same table where you insert.. because then the trigger would called again and again.. ending up in a recursion
当您插入记录时,MySQL正在执行一些锁定操作。您不能插入/更新/删除插入的同一表的行。因为那时触发器会一次又一次地调用。以递归告终