sql >> Databasteknik >  >> RDS >> PostgreSQL

Hämtar seriellt id från batchinfogade rader i postgresql

Något sådant här borde fungera:

// tell the driver you want the generated keys
stmt =  c.prepareStatement("INSERT ... ", Statement.RETURN_GENERATED_KEYS);

stmt.executeBatch();

// now retrieve the generated keys
ResultSet rs = stmt.getGeneratedKeys();
while (rs.next()) {
 int id = rs.getInt(1);
 .. save the id somewhere or update the items list 
}

Jag tror (jag är inte säker!) att nycklarna returneras i den ordning de genererades. Så den första raden från ResultSet bör mappas till det första "objektet" från listan du bearbetar. Men verifiera det!

Redigera

Om det inte fungerar, försök att ange de faktiska kolumner som värdena genereras för:

stmt =  c.prepareStatement("INSERT ... ", new String[] {"id"});



  1. Hur kontrollerar man vilken funktion som använder en typ?

  2. Hur lagrar man arabisk text i mysql-databas med python?

  3. Varför får jag att MySQL-servern har försvunnit undantag i Django?

  4. Hur kan jag använda Linq med en MySql-databas på Mono?