mysql触发器

xiaoxiao2021-02-28  86

1.前言

最近在做项目的优化,其中用到了伪哈希,伪哈希维护字段又需要用到 触发器,于是就学习了一下。

2.语法

CREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_name FOR EACH ROW trigger_stmt

触发程序是与表有关的命名数据库对象,当表上出现特定事件时,将激活该对象。 触发程序与命名为tbl_name的表相关。tbl_name必须引用永久性表。不能将触发程序与临时表表或视图关联起来。 trigger_time是触发程序的动作时间。它可以是BEFORE或AFTER,以指明触发程序是在激活它的语句之前或之后触发。 trigger_event指明了激活触发程序的语句的类型。trigger_event可以是下述值之一:

 INSERT:将新行插入表时激活触发程序,例如,通过INSERT语句。  UPDATE:更改某一行时激活触发程序,例如,通过UPDATE语句。  DELETE:从表中删除某一行时激活触发程序,例如,通过DELETE语句。

trigger_stmt是当触发程序激活时执行的语句。

如果你打算执行多个语句,可使用BEGIN ... END复合语句结构。这样,就能使用存储子程序中允许的相同语句。

DELIMITER | CREATE TRIGGER testref BEFORE INSERT ON test1 FOR EACH ROW BEGIN INSERT INTO test2 SET a2 = NEW.a1; DELETE FROM test3 WHERE a3 = NEW.a1; UPDATE test4 SET b4 = b4+1 WHERE a4 = NEW.a1; END |3.查看触发器

SHOW TRIGGERS 4.删除触发器

DROP TRIGGER [schema_name.] trigger_name例 DROP TRIGGER `school`.`ins_sum`

转载请注明原文地址: https://www.6miu.com/read-26545.html

最新回复(0)