【发布时间】:2015-06-25 18:52:16
【问题描述】:
我在 Java 中有一个工作方法,可以批量插入许多行。
我面临的问题是我的表有一个唯一约束,如果表中已有一些行,则该方法不会插入不属于数据库的行。相反,它会引发以下异常
java.sql.BatchUpdateException: Batch entry 0 INSERT INTO .... was aborted. Call getNextException to see the cause.
我可以做些什么来使该方法插入尚未在表中的方法并且不会像现在这样中止吗?
【问题讨论】:
-
您能否将命令中的 SQL 从普通插入更改为带有 where 条件的插入,以检查具有给定字段值的记录是否不存在?
-
那行得通,我得做sql语句看看效果如何
-
不幸的是 postgresql 还不支持合并或 upsert
-
@AlexanderKudrevatykh 我认为 9.5 版会
-
您似乎想要批量翻转操作。 stackoverflow.com/q/17267417/398670
标签: java sql postgresql jdbc