Insertar ordenadamente en MySQL ?

juanmanuelsanchez
24 de Febrero del 2005
hola a todos ! tengo un prblema. Yo tengo este codigo que me inserta en una tabla recuperando el id de los usuarios.

int id_u = 0;
ResultSet cdr = bd.obtenerUsuarios(); // listado de todos los usuarios registrados.
// Buscamos el número de identificación del último usuario registrado
// para insertar el nuevo a continuación.
while(cdr.next())
{
id_u = cdr.getInt("idPaciente");
}

id_u++; // El número de identificación del último + 1

Usuario.setId_Usuario(id_u);

// Método de la clase BDUsuarios que inserta de manera directa en la base de datos
System.out.println("Antes del insertar en la BD");
bd.insertarEnUsuarios(Usuario);

Y luego pues simplemente inserto en la BD. El problema es que algunas veces cuando inserto y veo la BD el último que inserte esta de primero en la lista. El id de usuario es correcto siempre es +1 pero esta como primer elemento. Y eso no me permite añadir luego más elementos.

Que puedo hacer ?

Muchas gracias

Leonardo
24 de Febrero del 2005
Podes realizarlo de dos formas,

a) Una de ellas es declarar el campo idPaciente como autonumerico (AUTO_INCREMENT), en este caso no necesitaras colocar un valor para este campo, ya que se incrementera al insertar el nuevo registro.

b) Otra es a traves de la siguiente consulta

"SELECT MAX(idPaciente) FROM Paciente"

al valor obtenido le sumas 1, y podes insertar el nuevo registro

saludos