mysql-事务

事务是用来维护数据库完整性的,它能够保证一系列的sql要么全都执行,要么全都不执行。
事务的特性:

  1. 原子性:事务是应用中不可再分的最小的逻辑执行体。事务中的一系列操作,要么都执行,要么都不执行。
  2. 一致性:事务执行的结果必须使数据库从一个一致性状态,变成另一个一致性状态。当数据库中只包含事务成功提交的结果时,数据库处于一致性状态,一致性是通过原子性来保证的。
  3. 隔离性:各个事务的执行互不干扰,任意一个事务的内部操作,对其他并发的事务,都是隔离的,在提交前是不可见的。也就是说,并发执行的事务之间不能看到对方的中间状态。
  4. 持久性:事务一旦提交,对数据所做的任何改变,都要记录到永久储存器中。

事务并发问题:

  1. 脏读:一个事务读到了另一个事务修改未提交的数据。
  2. 不可重复读:一个事务读到了另一个事务修改提交的数据。
  3. 幻读:一个事务读到了另一个事务插入、删除提交的数据。

事务隔离级别:

  1. 读未提交:最低的隔离级别,不锁,脏读、不可重复读、幻读都有可能发生。
  2. 读已提交:不锁,可以避免脏读,不可重复读、幻读可能发生。
  3. 重复读:锁行,可以避免脏读、不可重复读,幻读可能发生。默认级别
  4. 序列化:锁表,可以避免脏读、不可重复读、幻读。
posted @ 2025-06-30 18:43  扶她少女卡尔玛  阅读(5)  评论(0)    收藏  举报