我在下面如果insert語句也給
List<String> script=new ArrayList<String>;
script.add("INSERT INTO PUBLIC.EMPLOYEE(ID, NAME) VALUES (1, 'Madhava'));
script.add(INSERT INTO PUBLIC.EMPLOYEE(ID, NAME) VALUES (2, 'Rao'));
script.add(INSERT INTO PUBLIC.ADDRESS(ID, CITY) VALUES(1, 'Bangalore'))
script.add(INSERT INTO PUBLIC.ADDRESS(ID, CITY) VALUES(2, 'Hyd'));
我創建的存儲一堆的INSERT語句中ArrayList.like重複鍵異常(行ID = 1的表中找到)如何更新JDBC(PostgreSQL系統)的聲明連接到使用PostgreSQL JDBC我得到執行使用循環statments像下面
try{
Connection con=DBConnections.getPostgresConnection();
Statment statment=con.createStatment();
for(String query:script){
executeUpdate(query);
}
}catch(Exception e){
e.printStackTrace();
}
,如果我得到的重複鍵異常(ieAlready記錄存在postgresDB)。
org.postgresql.util.PSQLException: ERROR: duplicate key value
violates unique constraint "reports_uniqueness_index"
如何使用更新查詢更新Postgres中的相同記錄(記錄)。 有什麼辦法可以解決這個問題嗎? 有沒有其他更好的方法來解決這個問題? 能否請您解釋...
你可以使用'插上衝突...' –
的方式來解決這將是要麼更新,如果存在密鑰或使用自動生成的密鑰。 – duffymo
不要以爲你應該有一個INSERT列表;最好有一個傳遞給PreparedStatement並對數據庫執行的對象列表。 – duffymo