MySQL触发器

触发器

触发器是一种特殊的存储过程,它在插入,删除或修改特定表中的数据时触发执行

触发器语法

create trigger trigger_name trigger_time trigger_event on tb_name for each row
begin
  trigger_stmt
end

trigger_name:触发器的名称

tirgger_time:触发时机,为BEFORE(事件发生前)或者AFTER(事件发生后)

trigger_event:触发事件,为INSERT、DELETE或者UPDATE

tb_name:表示建立触发器的表名

trigger_stmt:触发器的程序体

CREATE TRIGGER 触发器名 BEFORE|AFTER 触发事件 ON 表名 FOR EACH ROW
BEGIN
    执行语句列表
END

删除

drop trigger trigger_name;

查看

show create trigger trigger_name;

实例

-- student 表中有 ssex 字段表示学生性别
-- 设计一个触发器审查性别字段的插入
create trigger tri_checksex before insert on student for each row
begin
    if new.ssex != '男' and new.ssex != '女' then
        set new.ssex = '未知';
    end if;
end

new 和 old

使用 insert 语句时:new 表示将要或者已经新增的数据

使用 update 语句时:new 表示将要或者已经修改的数据,old 表示将要或者已经被删除的数据

使用 delete 语句时,old表示将要或者已经被删除的数据

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容