0

我有一个简单的工作,它读取 .csv 文件,通过 转换该文件中的数据,并将文件中的数据tMap写入 DB。如果在 .csv 文件中发现错误,将转义包含错误的行,并将所有其他数据写入 DB。如果检查了 die on error,则写入 DB 将在达到错误行时中止。

如果我希望在没有错误的情况下将所有数据写入数据库,或者如果至少有一个错误则不写入数据,我该怎么办?

提前致谢!

4

2 回答 2

2

正如@Ryan 提到的,通常的标准是使用事务。如果由于某种原因无法做到这一点(我想我听说过/看到过有关每个事务的行锁限制),请考虑将结果转储到实际表的临时副本中。如果没有发生错误,则将其添加到生产表中。如果发生错误,弹出错误消息并删除(临时)表。

于 2011-11-16T23:42:19.783 回答
1

您应该使用事务。这样,如果出现错误,您可以将其回滚。

究竟如何实现事务取决于您使用的数据库。它是哪一个?

于 2011-11-16T15:02:08.667 回答