Skip to content

触发器

触发器是和表有关的数据库对象,和名字一样,触发器会在某些条件下被触发,执行预先写好的SQL指令集。 某些条件下:指的是一些特殊语句,比如插入,更新,删除等,可以在执行之前触发,也可以在执行之后触发 通过这些特性,我们可以做到对数据库中的数据变化进行记录,可以写写日志什么的, mysql的触发器还只支持行级触发,不支持语句触发行级触发:指的是当表中的一行数据被操作时,触发器就会触发 语句触发:指的是通过语句触发的触发器

触发器记录的数据

注意,触发器记录的数据是一行的数据,所以可以用 old.字段 / new.字段的形式调用本次触发器监听的结果

创建

sql
create trigger trigger_name
    after | before -- 前触发还是后触发
    insert | update | delete -- 触发器生效的SQL
    on table_name -- 触发器生效的表名 
    for each row -- 啊哈哈,因为MySQL只支持这一种触发器,所以这里只有一种写法了
    begin 
        SQL...
    end;

查看

sql
show triggers;

删除

sql
drop trigger [schema_name.]trigger_name;

schema_name:指定数据库,如果没有指定,就默认当下的数据库


Contact me: 1943284256@qq.com