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 に答える