Quiero obtener la última identificación en la tabla. Primero hice esto:
String selectId = "SELECT MAX(id) FROM book_store.cart" ; PreparedStatement ps = conn.prepareStatement(selectId); rs = ps.executeQuery(); while(rs.next()){ autoIncKey = rs.getInt("id"); }Aquí aparece el error "no se encontró la identificación de la columna" .
Luego cambié la consulta a esto, que está funcionando:
String selectId = "SELECT id FROM book_store.cart ORDER BY id DESC LIMIT 1";Me pregunto por qué la primera consulta me da un error y la segunda no si están devolviendo el mismo valor.
La primera consulta devolverá una fila con un nombre de columna de MAX(id) .
No es el nombre más útil para una columna, así que cambie la consulta para establecer un alias para esa columna como este
SELECT MAX(id) id FROM book_store.cart Y ahora la columna se llamará id y rs.getInt("id") funcionará