Si está utilizando Statement
, ir a la siguiente
//MY_NUMBER is the column name in the database
String generatedColumns[] = {"MY_NUMBER"};
Statement stmt = conn.createStatement();
//String sql holds the insert query
stmt.executeUpdate(sql, generatedColumns);
ResultSet rs = stmt.getGeneratedKeys();
// The generated id
if(rs.next())
long key = rs.getLong(1);
Si está utilizando PreparedStatement
, ir a la siguiente
String generatedColumns[] = {"MY_NUMBER"};
PreparedStatement pstmt = conn.prepareStatement(sql,generatedColumns);
pstmt.setString(1, "qwerty");
pstmt.execute();
ResultSet rs = pstmt.getGeneratedKeys();
if(rs.next())
long key = rs.getLong(1);
Estoy usando JDBC 4, por lo que el Statement.RETURN_GENERATED_KEYS no funcionó. Recibo este mensaje de error: "org.postgresql.util.PSQLException: No se admite el retorno de claves autogeneradas". Pero el PostgresSQL - RETORNO funcionó. – eflles