MySQL触发器以及实例

1 MySQL触发器的格式:

create trigger <触发器名称>

{before | after}

{insert | update | delete}

on <表名>

for each row

<触发器SQL语句>


2 MySQL触发器语法说明:

(1) create trigger <触发器名称>:

    创建一个新的触发器,并指定触发器的名称

(2){before | after}:

    用于指定在insert、update或delete语句执行前触发还是在语句执行后触发

(3) on <表名>:

    用于指定相应的表名

(4)fore each row:

    触发器的执行间隔,for each row通知触发器每隔一行执行一次动作

(5)<触发器SQL语句>:

    触发器要执行的SQL语句,如果该触发器要执行多条SQL语句,要将多条语句放在begin...end块中


3 示例:创建触发器,向test1表插入数据,test2表中的num字段就加一

delimiter |

DROP  TRIGGER  IF EXISTS t_beforeinsert_on_test1;

create trigger t_beforeinsert_on_test1

BEFORE INSERT on test1

for each row

update test2 set num = num + 1;

delimiter ;

4 注意问题:

(1)只有表支持触发器,视图及临时表都不支持;

(2)每个表最多支持6个触发器

(3)单一触发器不能与多个事件或多个表关联

(4)对于INSERT而言,新增的行用NEW来表示,行中的没一列的值,用NEW.列名来表示;

       对于DELETE而言,删除的行用OLD来表示

       对于UPDATE而言, 更新前的用OLD来表示,更新后的用NEW来表示


转载于:https://my.oschina.net/syc2013/blog/369770

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值