触发器1

原来的t_book:

原来的t_booktype:

创建只有一个执行语句的触发器:

CREATE TRIGGER trig_book AFTER INSERT 
ON t_book FOR EACH ROW
UPDATE t_bookType SET bookNum=bookNum+1 WHERE new.bookTypeId=t_booktype.id;

解释:当t_book中插入数据,t_booktype的bookNum加1。机理是new.bookTypeId=t_booktype.id,即新加的t_book数据的bookTypeId若等于t_booktype的id,则t_booktype的bookNum加1.

往t_book插入bookTypeId为1的计算机书数据:

则t_booktype的计算机bookNum自动加1:由2变为3.

 创建有多个执行语句的触发器:

先创建表t_log、t_test:

 

在t_test中加入一条数据,等下删除用:

创建新的trigger:

现在删除t_book的id为5的数据,看各表变化:

删除前:

t_log:

t_booktype:

t_test:

执行删除后:

t_log:

 

t_booktype:

t_test:

 

总结:最重要的后面表1.属性1=表2.属性2,当事情发生,就触发该触发器,执行UPDATE等操作。

查看触发器:

1、SHOW TRIGGERS:


2、在系统里看:

information_schema->表->TRIGGERS->表数据。

 删除触发器:

删除前有2个:

删除后只有一个:

原文地址:https://www.cnblogs.com/stm32stm32/p/5742820.html