最近陷入一个问题,有关数据库编程中的事务问题,大家说说看······
问题描述:JDBC编程,比如在一个事务中,执行两个更新不同表(表1,表2)中数据的操作,第一个更新(表1)操作成功,第二个发生了异常,程序停止(先这样处理),此时不会执行到commit()语句,不会提交事务。程序退出后数据库中表1中的数据并未变化,应该是事务回滚了,那为什么还要显式调用事务回滚代码(rollback())呢?
,事务没有提交,更新操作不会持久化到数据库中,那为什么还要回滚事务呢?
问题描述:JDBC编程,比如在一个事务中,执行两个更新不同表(表1,表2)中数据的操作,第一个更新(表1)操作成功,第二个发生了异常,程序停止(先这样处理),此时不会执行到commit()语句,不会提交事务。程序退出后数据库中表1中的数据并未变化,应该是事务回滚了,那为什么还要显式调用事务回滚代码(rollback())呢?
,事务没有提交,更新操作不会持久化到数据库中,那为什么还要回滚事务呢?