2

我有以下问题。我正在通过我的 javafx 接口将数据插入 Postgres 数据库。

当我将一些数据导入我的数据库时,有时会违反主键并且我收到以下堆栈错误:

 catch(PSQLException e){

       System.out.println(e.getLocalizedMessage());
}


 duplicate key value violates unique constraint "importedDocumentPK"
 Detail: Key (part_id, supplier_id, temp_id, qty, color, sign_id, state_id)=(41A213752P9, 750, 7049, 48, 5, 1, 1) already exists.

我的问题是。如何在我的程序中保存有关此行的信息(41A213752P9、750、7049、48、5、1、1)?

4

1 回答 1

1

在当前版本的 PostgreSQL 中,此信息仅作为错误消息中的文本字符串提供。但是,即将发布的 9.3 版本会将其公开为更详细的字段,有关详细信息,请参阅 http://www.postgresql.org/docs/9.3/static/libpq-exec.html#LIBPQ-PQRESULTERRORFIELD。我假设 JDBC 驱动程序也会公开相同的字段,但我不确定他们是否已经定义了接口。

于 2013-08-16T10:01:37.080 回答