项目中遇到一个问题,进行db操作的方法里抛出异常后并没有按照设想进行数据回滚,
并且已确认autocommit设为false,并且在异常处理块中正确写了rollback.
最后排查结果为,在db操作过程中执行了truncate操作,查询资料后得知,truncate在执行之前及之后会进行commit操作,进一步引申,DDL操作都有此特点,简单来说,DDL操作本身不能回滚,且其之前的操作也不能被回滚(因为已提交)。
DDL回滚(rollback)问题
最新推荐文章于 2024-07-11 17:12:50 发布