阿_波 2015-09-02 01:46 采纳率: 0%
浏览 8532
已结题

一个方法里只有一次对单个表的写操作,还需要事物吗?(请教对事物有深入理解的高手)

事务是一个最小的工作单元,不论成功与否都作为一个整体进行工作。

不会有部分完成的事务。由于事务是由几个任务组成的,因此如果一个事务作为一个整体是成功的,则事务中的每个任务都必须成功。如果事务中有一部分失败,则整个事务失败。
当事务失败时,系统返回到事务开始时的状态。这个取消所有变化的过程称为“回滚”( rollback )。例如,如果一个事务成功更新了两个表,在更新第三个表时失败,则系统将两次更新恢复原状,并返回到原始的状态。

然而,我这个方法里就一个对单张表的鞋操作,这个一个写操作就是整个任务,还需要事物吗?

  • 写回答

4条回答 默认 最新

  • oxcow 2015-09-02 02:44
    关注

    “一个对单张表的操作 ”不准确,如果对一张表进行了多次update/delete/insert 操作,那么就需要添加事务;
    准确的说,应该是一次任务中如果有个多个update/delete/insert操作(非读的),并且这些任务彼此是不可分割的,要么全部成功,要么全部失败,那么就需要使用事务进行管理;
    特别的,当这个任务中只包含一条更新(update/delete/insert)语句时,可以不用显式的声明事务。毕竟一旦报错,数据肯定是没有入库。

    评论

报告相同问题?

悬赏问题

  • ¥15 微带串馈天线阵列每个阵元宽度计算
  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥30 BC260Y用MQTT向阿里云发布主题消息一直错误
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 Centos / PETGEM
  • ¥15 划分vlan后不通了
  • ¥20 用雷电模拟器安装百达屋apk一直闪退