文档介绍:课前演讲:杨南南李彦青脱离主题(1)讲自己有把握的话题(2)在讲之前,(1)事务的概念逻辑上的一组操作,组成这组操作的各个单元,要么全部成功,要么全部失败(2)事务使用步骤确定表的存储引擎是否是innoDB开启事务执行sql语句判断是否都成功,分两种结果(,mit,2,如果有任何一个sql语句失败,撤销sql语句对数据库的影响rollback)(3)mit=0,(commitrollback之后没有将自动提交机制给恢复)starttransaction:提交之后,自动提交机制会恢复(重置)开启事务之后,执行的sql语句,并没有对真实的数据库产生影响,mit之后,他才会对数据库产生影响(4)事务的特点永久性:一旦提交之后,对数据库的影响是永久的一致性:和原子性密切相关;各个单元的数据要一致(各个单元单元都成功了,数据才一致)隔离性:多个事务,多个人并发(同时),各个事务之间互不影响原子性:各个单元要么都成功要么都失败,:触发器运行在数据库上的一段程序(数据库的一个对象),用来监听某个表的行为,一旦这个表的行为发生了,,意味着订单表要增加一条记录,商品的库存量,要减少相应的数量oa----officeauto办公自动化,::当下订单之后,订单表要增加一条记录,同时库存表减少一条记录new和old关键字,都是代表记录的,代表的监听的这个数据表的记录(order订单表),例如,一旦删除订单表的记录,那么old代表删除的这一条记录new:新的记录(新插入的(购买的),更新订单之后的)old:旧的记录(删除的记录,更新之前的)需求:(1)假如说,这个订单我不要了,订单表要减去这一条记录,同时库存量要增加上(2)假如之前买了10个商品,如果想修改为5个,重新生成订单(3)再假如之前买的iphone手机买了6个,现在改成买小米手机买了3个是不是每次提交订单的时候,都要创建这个触发器呢?一旦创建触发器成功,这个触发器保存到数据表上保存到information_schema数据库的TRIGGERS这个表上完成取消订单之后,订单表记录消失,商品库存应该添加上更新订单,要做哪些动作:(同一个商品的不同数量)之前买了6个商品现在我想买3个删除6个再买3个先撤销这个订单,再下一个订单,买3个商品通过分析天猫的修改订单部分,我们发现-----修改订单的时候,只能修改同一个商品的不同数量,如果想撤销这个订单买一个其他的商品的时候,需要删除这个订单,再重新购买(不同商品的不同数量)之前买的iphone手机买了6个,现在改成买小米手机买了3个撤销原来购买的6个iphone重新购买3个小米手机具体的触发器代码:问题:由于mysql数据库默认的语句结束符是;,所以执行到第一个语句的时候,就结束了,可不可以不让他在;分号的时候就结束步骤:修改默认的语句结束符delimiter新的结束符执行这个创建触发器之前修改:注意:执行完毕了,再将默认的恢复过来将封装的多个sql语句