PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Извличане на сериен идентификатор от групово вмъкнати редове в postgresql

Нещо подобно трябва да работи:

// 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 
}

Мисля (азне сигурни!), че ключовете се връщат в реда, в който са били генерирани. Така че първият ред от ResultSet трябва да съответства на първия "елемент" от списъка, който обработвате. Но проверете това!

Редактиране

Ако това не работи, опитайте да посочите действителните колони, за които се генерират стойностите:

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Върнете рамка с данни на Pandas от заявка на PostgreSQL с sqlalchemy

  2. PostgreSQL за намиране на средна точка между две времеви марки

  3. SELECT от една таблица, INSERT в две други таблици въз основа на условие

  4. Как да вмъкна стойност в оператор select с помощта на JavaScript, по-специално когато използвам express и postgres?

  5. ST_HexagonGrid geom вектор за намиране на всички точки