mysql触发器(三)

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

CREATE TRIGGER 触发器名 [BEFORE|AFTER] 触发事件
ON 表名 FOR EACH ROW
执行语句

# 插入触发器:trigger
CREATE TRIGGER trig_book AFTER INSERT
ON t_book FOR EACH ROW 
UPDATE t_book_type SET book_num=book_num+1 WHERE new.book_type_id=t_book_type.id;
# 注释 上文中 new 为过渡变量 代指新插入|更新的那条数据 删除为 old
# 测试例子
INSERT INTO t_book VALUES (NULL,'java hello',100,'ke',1);

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

# 删除触发器 
DELIMITER $$
CREATE TRIGGER trig_book2 AFTER DELETE
  ON t_book FOR EACH ROW
  BEGIN
    UPDATE t_book_type SET book_num=book_num-1 WHERE old.book_type_id=t_book_type.id;
    INSERT INTO t_log VALUES(NULL,NOW(),'在book表里删除了一条数据');
    DELETE FROM t_test WHERE old.book_type_id=t_test.id;
  END $$
 DELIMITER;
 # 上文中 old 为过渡变量 代指删除的那条数据 插入|更新为 new
 # 测试例子
 DELETE FROM t_book WHERE id=7

删除触发器

DROP TRIGGER trig_book;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值