mysql必知必会触发器_《mysql必知必会》读书笔记--触发器及管理事务处理

TRIGGER newproduct AFTER INSERT ONproductsFOR EACH ROW SELECT ‘Product added‘;CREATE TRIGGER--创建一个叫newproduct的新触发器

AFTER INSERT--此触发器将在INSERT语句成功后执行

FOR EACH ROW--代码对每个插入行执行

注意:

只有表才可以支持触发器,视图、临时表都不支持

每个表最多支持6个触发器。单一的触发器不能与多个事件或多个表关联。

如果BEFORE触发器失败,MySQL将不执行请求操作。

如果BEFORE触发器或语句本身失败,MySQL将不执行AFTER触发器

删除触发器

DROP TRIGGER newproduct;

触发器不能修改或者覆盖,如要修改必须先删除,再创建。

使用触发器

INSERT触发器

可以引用一个叫NEW的虚拟表,来访问插入的行

DELETE触发器

引用一个叫OLD的虚拟表,来访问被删除的行

UPDATE触发器

书中缺页未介绍

管理事务处理

MySQL中有好几种引擎,但是不是每种引擎都支持事务处理

常用的引擎中InnoDB支持事务,MyISAM不支持事务

几个名词:

事务transaction

回退rollback

提交commit

保留点savepoint

控制事务管理

ROLLBACK

SELECT * FROMordertotals;

STARTTRANSACTION;DELETE FROMordertotals;SELECT * FROMordertotals;ROLLBACK;SELECT * FROM ordertotals;

注意:事务用来管理INSERT、UPDATE和DELETE。不能回退CREATE或者DROP操作

COMMITSTART TANSACTION;DELETE FROM orderitems WHERE order_num = 20010;DELETE FROM order WHERE order_num = 20010;COMMIT;

保留点

--创建保留点

SAVEPOINT delete1;--回滚到保留点

ROLLBACK TO delete1;

保留点再执行ROLLBACK或COMMIT后自动释放,mysql 5之后可以用RELEASE SAVEPOINT 明确释放保留点

更改默认的提交行为

SET autocommit=0

注意:autocommit标志是针对每个连接,而不是服务器;

《mysql必知必会》读书笔记--触发器及管理事务处理

标签:个数   create   引擎   创建   set   事务处理   color   成功   触发器

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:http://www.cnblogs.com/wulaa/p/7768116.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值