MySQL事务管理(重点!!!)

本文详细介绍了MySQL中的事务管理,包括事务的基本操作、注意事项、四种隔离级别及其可能导致的问题,如脏读、不可重复读和幻读。此外,还讨论了事务的ACID特性,强调了事务的原子性、一致性、隔离性和持久性在确保数据一致性和完整性方面的重要性。
摘要由CSDN通过智能技术生成

标题事务管理(重点)

事务就是一组DML语句组成,这些语句在逻辑上存在相关性,这一组DML语句要么全部成功,要么全部失败,是 一个整体。MySQL提供一种机制,保证我们达到这样的效果。事务还规定不同的客户端看到的数据是不相同的。

假如 客户端A和客户端B都在卖票,当客户端A检查还有一张票时,将票卖掉,还没有执行更新数据库时,客户端B检查了票数,发现大于0,于是又卖了一次票,然后A将票数更新回数据库,这时就出现了同一张票被卖了两次。

1. 事务基本操作

案例:
银行转账更需要考虑事务的问题。

  • 创建测试表
  create table account(
        id int primary key,
        name varchar(50) not null default '',
        balance decimal(10, 2) not null default 0.0
      );
  • 开始一个事务start transaction
  • 创建一个保存点savepoint 保存点名
  • 回到保存点(根据具体情况)rollback to 保存点名;
    代码演示:
    mysql> start transaction; --开启事务 
     
    mysql> savepoint aa; --设置保存点
    mysql> insert into account values(1, '张三'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值