java - Can PreparedStatement.executeUpdate() ever return 0 on INSERT? -
is there condition under sql insert statement executed method executeupdate on preparedstatement object return 0 without throwing sqlexception?
for example:
string query = "insert mytable (column1,column2) values (5,6)"; preparedstatement preparedstatement = connection.preparestatement(query); if(preparedstatement.executeupdate()!=1){ // strange error has occurred } else{ // ever } why ask? check ensure number of rows returned equal 1 wonder if overkill if should never return 1.
so tried and, yes, can 0 return value insert statement. can happen if select * from table without rows into table. example, domain , domain2 have same schema , domain2 empty, doing following
connection con = datasource.getconnection(); preparedstatement ps = con.preparestatement("insert domain select * domain2"); system.out.println(ps.executeupdate()); prints 0.
the time i've ever used return value of executeupdate delete statement on 1 row make sure existed before , deleted. don't think should use insert.
Comments
Post a Comment