except 里的 rollback 是否必须的?
感觉 except 里的 rollback 操作是不是多余的?求解答
会存在其他异常情况么
感觉 except 里的 rollback 操作是不是多余的?求解答
会存在其他异常情况么
2017-02-09
不是多余的,本例中的iud三条语句互相联系不大,所以你可能有点误解
比如你要对数据库进行操作如下:
张三要给李四转100块钱
第一步:张三账户里减100块钱
第二步:李四账户里多100块钱
假如这是两条sql语句,但是你在执行的过程中,第一条语句执行成功,第二条语句因为你把李四的卡号输错了,执行报错,但是因为你已经成功的执行了第一条语句,所以这个时候张三账户里已经少了这100块钱,但是又由于第二条语句没有执行,所以李四的账户里并没有加上这100块钱
rollback的作用就是,让这一次操作中的数据回到初始状态,即张三账户没有转出100块钱,李四账户没有收到100块钱
至于别的异常情况。。。我想不到了。。。
举报