MySQL:触发器

1 触发器

  触发器是一种特殊的与表事件相关的存储过程,其执行不是由程序调用,也不是手工启动,而是由事件触发。触发器经常用于加强数据的完整性约束和业务规则等。也可以用于强制引用完整性,以便在多个表中添加、更新或删除行时,保留在这些表之间所定义的关系。MySQL中触发器的完整语法结构如下:

CREATE
    [DEFINER = user]
    TRIGGER [IF NOT EXISTS] trigger_name
    trigger_time trigger_event
    ON tbl_name FOR EACH ROW
    [trigger_order]
    trigger_body

trigger_time: { BEFORE | AFTER }

trigger_event: { INSERT | UPDATE | DELETE }

trigger_order: { FOLLOWS | PRECEDES } other_trigger_name
  • trigger_time: 指示触发器触发时间。before是指在执行触发语句之前激发触发器;after是指在执行触发语句之后激发触发器。
  • trigger_event: 指示触发事件。delete是指每当一个delete语句从表中删除一行时激活触发器;insert是指每当一个insert语句向表中插入一行激活触发器;update是指每当update语句修改指定列时激活触发器。
  • trigger_order: 这是一个可选参数。如果定义了多个具有相同触发事件和触法时间的触发器时,默认触发顺序与触发器的创建顺序一致。其中follows是指当前创建的触发器在现有触发器之后激活;precedes是指当前创建的触发器在现有触发器之前激活。
参考资料
  1. https://zhuanlan.zhihu.com/p/158670286

猜你喜欢

转载自blog.csdn.net/yeshang_lady/article/details/130800952