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
Post a Comment