原来的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个:
删除后只有一个: