mysql中的事务

   日期:2020-06-02     浏览:82    评论:0    
核心提示:什么是事务?举个例子,小王有金额5000,今天他手机转账给员工小李发奖金1000元。当小王点击汇款时,他的账户减少1000,但是在发送的过程中网络不稳定,导致汇款没到小李的账户,那么这1000元去哪了?事务的出现就可以帮我们解决这类问题,事务主要用于处理操作量大,复杂度高的数据。每条SQL语句都是事务事务只对DML语句有效,对DQL无效。...数据库

什么是事务?

举个例子,小王有金额5000,今天他手机转账给员工小李发奖金1000元。当小王点击汇款时,他的账户减少1000,但是在发送的过程中网络不稳定,导致汇款没到小李的账户,那么这1000元去哪了?
事务的出现就可以帮我们解决这类问题,事务主要用于处理操作量大,复杂度高的数据。

  • 每条SQL语句都是事务
  • 事务只对DML语句有效,对DQL无效。

事务的ACID

  • 原子性 Atomicity
  • 一致性 Consistency
  • 隔离性 Isolation
  • 持久性 Durability
  1. 原子性,如刚刚举的例子,原子性包含两个重要概念,即提交和回滚;小王在支付操作的时候是提交操作,当遇到意外导致交易无法完成,则启动事务回滚,此时交易为未完成。而不是直接扣除小王的账户余额。
  2. 一致性,在每次提交或回滚之后以及正在进行的事务处理期间,数据库始终保持一致状态。
  3. 隔离性,事务之间不能互相干扰,也不能看到彼此的未提交数据。
  4. 持久性,一旦提交操作成功,该事务所做的更改就不会因为一些意外而丢失。

事务的使用

  • 开启事务: start transaction
  • 提交事务: commit //所有语句全部执行完毕,没有发生异常,提交事务,数据更新到数据库中。
  • 回滚事务: rollback //遇到突发情况,则撤销所执行的SQL语句。

例:先在Windows操作系统下打开cmd,进入你的MySQL

mysql>use my-db;
mysql>start transaction;
mysql>update xw set money = money - 1000; //还未提交事务
mysql>rollback; //假如此时遇到意外了,撤销以上操作
//若正常执行,则
mysql>commit; //提交事务
 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
更多>相关资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服