postgresql中主键列中存在重复值

时间:2014-01-20 10:33:56

标签: java sql postgresql

我有一个表,其中一列是主键,数据类型为citext。

许多线程将更新表,它们已正确同步。这些线程将数据写入文件(每个线程的单独文件),然后将数据转储到临时表中,该临时表也与主键具有相同的列,然后使用

更新主表
update tabl1.col1 = temp1.col1, ...
where tabl1.pkcol = temp1.pkcol

然后使用

插入新数据
insert into tabl1 (col1, col2, ...)
select col1, col2, ...
from temp1 where not exists (select * from temp1 where tabl1.col1 = temp1.col1)

现在我在主键列中有很多重复项。

环境详情:

操作系统:Win server 2008 r2 64位

Postgres版本9.2.4

由在同一台机器上运行的java(java 1.5)应用程序使用。

我检查了没有发生的java / postgres的任何异常停止。

删除并重新创建表后,它在相同条件下正常工作。

在什么情况下会插入这样的重复条目? 为什么数据库在插入重复值时没有抛出任何错误?

任何帮助或指示都将不胜感激。

0 个答案:

没有答案