MySQL触发器
什么是触发器
触发器(trigger)是MySQL提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作(insert,delete, update)时就会激活它执行。简单理解为:你执行一条sql语句,这条sql语句的执行会自动去触发执行其他的sql语句。
触发器详细介绍
触发器创建四要素
- 监视地点(table)
- 监视事件(insert、update、delete)
- 触发时间(after、before)
- 触发事件(insert、update、delete)
触发器使用语法
1 | CREATE TRIGGER 触发器名 |
before/after
: 触发器是在增删改之前执行,还是之后执行delete/insert/update
: 触发器由哪些行为触发(增、删、改)on 表名
: 触发器监视哪张表的(增、删、改)操作触发SQL代码块
: 执行触发器包含的SQL语句
例子
比如,现在我有单价、数量、总价三个字段,众所周知,总价 = 单价 x 数量,那么我们便可以写出一个触发器如下,当我们修改单价或者数量的时候,总价自动进行计算:
1 | CREATE TRIGGER sum |
Navicat中创建触发器
选中表->右键->设计表->触发器->添加触发器,