mysql 内置功能 触发器介绍

使用触发器可以定制用户对表进行【增、删、改】操作时前后的行为,注意:没有查询

创建触发器

 

create trigger 触发器的名字 之前(before)或者之后(after)  行为(insert、delete、update) on 表名 for each row

begin (开始)

  触发器代码,sql语句

end (结束)

before 插入前

after 插入后

before 在insert 行为之前去触发 begin 里面sql语句

after 在insert 行为之后去触发begin 里面sql语句

# 插入前
CREATE TRIGGER tri_before_insert_tb1 BEFORE INSERT ON tb1 FOR EACH ROW
BEGIN
    ...
END

# 插入后
CREATE TRIGGER tri_after_insert_tb1 AFTER INSERT ON tb1 FOR EACH ROW
BEGIN
    ...
END

before insert

针对这张表每一行插入记录之前 我都会触发这个触发器

after inser

针对这张表每一行插入记录之后 我都会触发这个触发器

before delete 针对这张表每删除一行记录之前 都会触发 begin里面sql语句

after delete 针对这张表每删除一行记录之后 都会触发 begin里面sql语句

# 删除前
CREATE TRIGGER tri_before_delete_tb1 BEFORE DELETE ON tb1 FOR EACH ROW
BEGIN
    ...
END

# 删除后
CREATE TRIGGER tri_after_delete_tb1 AFTER DELETE ON tb1 FOR EACH ROW
BEGIN
    ...
END

# 更新前
CREATE TRIGGER tri_before_update_tb1 BEFORE UPDATE ON tb1 FOR EACH ROW
BEGIN
    ...
END

# 更新后
CREATE TRIGGER tri_after_update_tb1 AFTER UPDATE ON tb1 FOR EACH ROW
BEGIN
    ...
END

二 使用触发器

触发器无法由用户直接调用,而知由于对表的【增/删/改】操作被动引发的

 

删除触发器

drop trigger tri_after_insert_cmd;

猜你喜欢

转载自www.cnblogs.com/mingerlcm/p/9940716.html