在我的Java应用程序中,我使用PgAdmin4(JDBC)在PostgreSQL 10.3中导入一些CSV文件。
private static void importDB(String path, String type) {
Statement stmt = null;
try {
Class.forName(DRIVER_CLASS_NAME);
c = DriverManager.getConnection(DB_URL, USER, PASS);
stmt = c.createStatement();
//System.out.println(''"+path+"');
String sql = "COPY "+type+" from '"+path+"' CSV HEADER";
stmt.executeUpdate(sql);
stmt.close();
c.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
现在:如果我修改了CSV文件中的某些非键值并尝试重新导入,则会出现明显的主键问题,因为它就像我先导入的同一文件的另一个副本一样。 假设PgAdmin4中的表具有主键(id,sat),如何检查表中的这些键(实际上是行)并修改其他非键数据?就像覆盖它们一样。