Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Recuperar Clave autoincrement tras insertar

Estas en el tema de Recuperar Clave autoincrement tras insertar en el foro de Mysql en Foros del Web. Hola, estoi trabajando en una aplicación java con acceso a Base datos mysql. Tengo una tabla compradores con una columna clave que se genera con ...
  #1 (permalink)  
Antiguo 29/04/2007, 09:53
 
Fecha de Ingreso: marzo-2007
Mensajes: 26
Antigüedad: 17 años, 1 mes
Puntos: 0
Exclamación Recuperar Clave autoincrement tras insertar

Hola, estoi trabajando en una aplicación java con acceso a Base datos mysql.

Tengo una tabla compradores con una columna clave que se genera con auto_increment (es la prymary key).
Inserto un comprador indicando sus datos personales sin especificar la clave para que mysql le de valores consecutivos y unicos.
Hasta aqui todo bien, lo que me falla es que necesito una consulta sql que me devuelva que clave asigno al comprador. Las cosultas insert no devuelven resultset, sólo un entero con el número de filas afectadas.
¿Hay alguna forma de forzar a mysql a devolverme la clave? En caso de que no, ¿hay otra estrategia que me evite estos problemas?.

Gracias.

La tabla sería asi:

clave | nombre | apellido
=================
1............jorge.......ferrer
2............luis.........zidan

Nota: al insertar solo indico el nombre y apellido - tras ejecutar el insert no se que clave se le asigno por lo que no tengo manera de recuperar la fila insertada.
  #2 (permalink)  
Antiguo 29/04/2007, 11:54
Avatar de Txane  
Fecha de Ingreso: febrero-2004
Ubicación: Morelia Michoacan
Mensajes: 272
Antigüedad: 20 años, 2 meses
Puntos: 2
Re: Recuperar Clave autoincrement tras insertar

despues de insertar

select max(id) as maxid from tu_tabla;
  #3 (permalink)  
Antiguo 29/04/2007, 12:48
Avatar de cala932  
Fecha de Ingreso: septiembre-2006
Ubicación: San Juan-Argentina
Mensajes: 902
Antigüedad: 17 años, 7 meses
Puntos: 9
Re: Recuperar Clave autoincrement tras insertar

Hola digdig, creo que lo que mas te conviene es inmediatamente de ejecutar el insert, ejecuta lo siguiente:
mysql_insert_id(); esta funcion te devuelve el id del registro que acabas de insertar, lo que queda es que se lo asignes a una variable y listo, por ejemplo si utilizas PHP seria: $ultimo_id=mysql_insert_id();
Espero que te Sirva. Saludos
__________________
->Aprender es un proceso que incluye el error..
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:27.