我有以下问题。我正在通过我的 javafx 接口(interface)将数据插入 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) 的信息?
最佳答案
在当前版本的 PostgreSQL 中,此信息仅作为错误消息中的文本字符串提供。但是,即将发布的 9.3 版本会将其公开为更详细的字段,请参阅 http://www.postgresql.org/docs/9.3/static/libpq-exec.html#LIBPQ-PQRESULTERRORFIELD了解详情。我假设 JDBC 驱动程序也会公开相同的字段,但我不确定他们是否已经定义了接口(interface)。
关于java - 以编程方式访问 PostgreSQL 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17884880/