Na minha tabela de pedidos acabei de criar um novo pedido. Como o campo id é auto incremento, eu deixo o MySQL criar o id. Mas eu não sei qual é o id que o MySQL criou. Como faço para não perder o registro e pegar o id correto?
Atenciosamente,
Ronaldo
Se o seu INSERT
executou, então você não perdeu o registro, o registro está salvo no banco.
Se a dúvida é como obter o ID gerado logo após o INSERT
, o pseudo código abaixo te ensina:
// tem que passar o RETURN_GENERATED_KEYS ao criar o Statement
PreparedStatement stmt = db.prepareStatement(suaQuery, Statement.RETURN_GENERATED_KEYS);
// daí você seta os parâmetros do statement...
// depois executa o statement
stmt.execute();
// e finalmente pega o id gerado pelo insert
ResultSet result = stmt.getGeneratedKeys();
if (result != null && result.next()) {
long id = result.getLong(1);
System.out.println("ID: " + id);
} else {
System.out.println("Não inseriu");
}