sql >> Databáze >  >> RDS >> PostgreSQL

Získání automaticky generovaného klíče z vložení řádku na jaře 3 / PostgreSQL 8.4.9

KeyHolder holder = new GeneratedKeyHolder();

getJdbcTemplate().update(new PreparedStatementCreator() {           

                @Override
                public PreparedStatement createPreparedStatement(Connection connection)
                        throws SQLException {
                    PreparedStatement ps = connection.prepareStatement(sql.toString(),
                        Statement.RETURN_GENERATED_KEYS); 
                    ps.setString(1, person.getUsername());
                    ps.setString(2, person.getPassword());
                    ps.setString(3, person.getEmail());
                    ps.setLong(4, person.getRole().getId());
                    return ps;
                }
            }, holder);

Long newPersonId = holder.getKey().longValue();

Všimněte si, že v novějších verzích Postgres musíte použít

connection.prepareStatement(sql.toString(), 
    new String[] { "idcompte" /* name of your id column */ })

místo

connection.prepareStatement(sql.toString(), 
    Statement.RETURN_GENERATED_KEYS);


  1. MySQL rychle vybere 10 náhodných řádků ze 600 000 řádků

  2. 3 způsoby, jak extrahovat rok z data v SQL Server (T-SQL)

  3. Jak importovat databázi pomocí phpMyAdmin

  4. Použijte DATABASEPROPERTYEX() k vrácení nastavení databáze na serveru SQL