什么是mysql的脏读、不可重复读,可重复读

MySQL 中的 脏读(Dirty Read)、不可重复读(Non-Repeatable Read)、可重复读(Repeatable Read) 是事务隔离级别中的核心概念,用于描述不同隔离级别下可能出现的并发问题。以下是详细解释:


1. 脏读(Dirty Read)

  • 定义:一个事务(A)读取了另一个未提交事务(B)修改的数据。如果事务 B 回滚,事务 A 读取到的数据就是“脏数据”。

  • 发生条件:事务隔离级别为 读未提交(Read Uncommitted)

  • 示例

    sql

    复制

    -- 事务A(未提交)
    UPDATE users SET balance = 200 WHERE id = 1;
    
    -- 事务B(读取未提交的数据)
    SELECT balance FROM users WHERE id = 1; -- 读到200
    
    -- 事务A回滚
    ROLLBACK;

    事务 B 读到的 200 是未提交的临时值,最终失效。


2. 不可重复读(Non-Repeatable Read)

  • 定义:同一事务内多次读取同一数据,结果不一致(因其他事务修改并提交了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值