触发器

1. 创建触发器

CREATE TRIGGER [触发器名称] [触发器的执行时间] [执行的动作点] on [表名] FOR EACH ROW [函数或动作];
触发器的执行时间: before, after
执行的动作点: insert, update, delete
函数: begin, end
动作: update, insert

 

2. 触发器触发时更新当前表数据

  由于MySQL触发器,触发事件的表与触发更新的表是用一表。触发更新同一表时,不应该使用update语句更新,应该使用set修改NEW对象更新即可。

DELIMITER $
create trigger
    user_test_trigger_before
before insert on
    user_test
for each row
begin
    set new.email = new.email + 1;
end$
DELIMITER ;

 

3. 触发器触发时更新别的表数据

DELIMITER $
create trigger
    user_test_trigger_before
before insert on
    user_test
for each row
begin
    update auth_user set new.email = new.email + 1 where id = 1;
end$
DELIMITER ;

 

posted @ 2020-06-03 21:58  yyfgrd  阅读(116)  评论(0)    收藏  举报