NutzCN Logo
问答 批量插入问题,解析xml文件,批量插入数据库,提交时假如报错,怎么把跳过错误数据,继续执行下去?
发布于 754天前 作者 wx_nvu0j53rdpc0ebqbi0kc 1207 次浏览 复制 上一个帖子 下一个帖子
标签:

批量插入问题,解析xml文件,批量插入数据库,提交时假如报错,怎么把跳过错误数据,继续执行下去?

11 回复

@wendal大佬可有空?

分批插入,如果某个批次报错,这批数据改成单条插入

@wendal 我也是这么想的,但是假如1000条数据,每次100条提交一次,假如第3次提交报错,就调用另一个方法逐个提交,定位到具体某一条信息,然后记录到日志表中,但是这个时候语句已经报错了,代码不走了,剩下的几百条咋办?

@wendal 这只是抓到了引起错误的数据,和提交了错误数据之前的数据,错误数据之后的数据咋办啊

每次批量插入的时候用事务包起来,出错就回滚了

@wendal 回滚的是这一批(100条)的数据吧,那不就出现一部分提交,一部分未提交了,还是把之前提交的数据(200条)也都回滚了。

每次批量插入的是单独一个事务

@wendal 也就是这一批的数据100条?大佬,勿烦

@wendal 那就出现了1000条数据只提交200条数据的情况,剩下的没法处理了。有没有什么方法,遇到问题数据后,不做处理,事务继续走下去,继续处理剩下的数据,也就是容错机制?

单个批次出错后,回滚,转为逐条插入,然后记录报错的记录,就解决啦

数据库是不会返回批量插入时具体哪条记录报错的,你想要的完美解决是不存在的

添加回复
请先登陆
回到顶部