prepared statement - How to retrieve all generated keys from multiple row PreparedStatement in Java? -


assuming following sql statement:

insert material (id, code, name) values (null, 'firstcode', 'firstname'), (null, 'secondcode', 'secondname'); 

using follwing code preparedstatement instance ps represents sql statement above. , preparedstatement has been obtained option new string[]{"id"} in order specify column name of generated keys:

try {     final int affectedrows = ps.executeupdate();     assertequals("failed insert entries", "2", string.valueof(affectedrows));     final resultset generatedkeys = ps.getgeneratedkeys();     while (generatedkeys.next()) {       system.out.println(generatedkeys.getint(1));     } } catch (sqlexception e) {     // catch block } 

the problem id of second row retrieved. have suggestion how retrieve of generated keys?

edit:

this table's definition.

create table if not exists "material" (   "id" int not null auto_increment,   "idmaterial" varchar(5) not null,   "name"       varchar(100) not null ); 

try this,

preparedstatement ps = con.preparestatement(sql, statement.return_generated_keys) resultset rs = preparedstatement.getgeneratedkeys();  while(rs.next()) {     system.out.println(rs.getlong(1)); } 

Comments

Popular posts from this blog

Is there a better way to structure post methods in Class Based Views -

performance - Why is XCHG reg, reg a 3 micro-op instruction on modern Intel architectures? -

jquery - Responsive Navbar with Sub Navbar -