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

Insertar datos y obtener el ID

Estas en el tema de Insertar datos y obtener el ID en el foro de Mysql en Foros del Web. Podrian darme una mano con esto? Yo ingreso un dato pasando un dato, la base de datos es por ej. ID - Nombre , yo ...
  #1 (permalink)  
Antiguo 25/08/2012, 16:46
Avatar de aguila_393  
Fecha de Ingreso: septiembre-2007
Ubicación: Argentina
Mensajes: 406
Antigüedad: 16 años, 6 meses
Puntos: 1
Insertar datos y obtener el ID

Podrian darme una mano con esto? Yo ingreso un dato pasando un dato, la base de datos es por ej. ID - Nombre , yo pase el nombre y el id se genera automaticamente. Yo necesito saber una vez ingresado el nombre cual es id asociado a el.

Se que puedo hacer otra consulta y seleccionar el id asociado a ese nombre, pero quiero saber si se puede pedir en la misma consulta o hacerlo de alguna otra manera.
  #2 (permalink)  
Antiguo 25/08/2012, 17:03
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Insertar datos y obtener el ID

Desde el lenguaje de programación que estés usando se puede usar funciones que te devuelven ese valor al ser invocadas inmediatamente. La sintaxis depende del lenguaje usado.
Dentro de los SP, debes usar LAST_INSERT_ID() para obtenerlo inmediatamente después del insert.
Nota: No es funcional si se realizan inserts masivos, porque entonces sólo devuelve el primero y el numero mayor hay que calcularlo en base a los registros insertados (la función creo que es NUM_ROWS()).
En cualquier caso, esto es un tema que sale en todos los manuales de referencia, tanto de MySQL como de los conectores usados.
¿Ya te fijaste en ellos, en los ejemplos que te ponen?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 25/08/2012 a las 17:08
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 14:31.