事务

什么是事务?

同一连接下,执行多条修改数据库的sql,要么都成功,如果有一条无法执行,如果有一条无法执行那么执行的其他sql 要进行回滚

事务的特性:

  • 原子性:要成功就都成功,失败都失败,整个业务不可分割,作为一个整体执行
  • 隔离性:多个连接之间,操作同一数据表,他们之间的数据互不影响, 隔离级别: spring mvc 后边有讲
  • 持久性:数据通过事务提交到数据库,之后数据库如果发生故障,崩溃,系统死机, 之后程序恢复后,程序不丢失
  • 一致性:举例:转账的例子,同一个表中,用户转账,金额一致,总数不变,不可能多出来,或者减少金额,保持总数一致,

多个连接事务之间的数据影响的现象:

  1. 脏读:脏数据
    一个事务发生修改,还未提交,另外一个事务可以看到该未提交的事务,这是读取的数据就是脏读;现实默认不会发生.

  2. 不可重复读:
    一个事务
    在这里插入图片描述

  3. 幻读:
    在这里插入图片描述

事务隔离级别

一般数据库都有自己默认的隔离级别不需要自己手动设置

未提交读:
允许能读到 未提交事务的数据
提交读:
允许能读到提交事务的数据, 能狗解决脏读
重复度:
可以解决 同一事物 多次执行同一sql 得到结果一致的问题,但是不能解决幻读

序列化
多有执行的事务要排队,可以解决脏读,不可重复读,幻读
在这里插入图片描述
在这里插入图片描述
oracle 开启/关闭事务
标记点::

传播行为:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值