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

Insertar registro y obtener un valor como resultado

Estas en el tema de Insertar registro y obtener un valor como resultado en el foro de Mysql en Foros del Web. Es una pregunta simple, no sé si es factible. En todas mis tablas yo manejo un campo al que denomino ID y siempre es un ...
  #1 (permalink)  
Antiguo 16/02/2007, 16:46
 
Fecha de Ingreso: diciembre-2001
Ubicación: Morelia, México.
Mensajes: 312
Antigüedad: 22 años, 4 meses
Puntos: 0
Pregunta Insertar registro y obtener un valor como resultado

Es una pregunta simple, no sé si es factible. En todas mis tablas yo manejo un campo al que denomino ID y siempre es un BIGINT Autonumérico.

Existe la posibilidad de que al momento de ejecutar el INSERT obtenga como resultado el ID que se le generó a ese Ingreso? sin necesidad de tener que correr luego del INSERT un SELECT ??

O si conocen algún procedimiento que no implique enviar dos sentencias.

Nunca he tenido problemas al momento de trabajar porque siempre hago todo en Transacciones.

GRACIAS.
  #2 (permalink)  
Antiguo 18/02/2007, 17:00
Avatar de cala932  
Fecha de Ingreso: septiembre-2006
Ubicación: San Juan-Argentina
Mensajes: 902
Antigüedad: 17 años, 7 meses
Puntos: 9
De acuerdo Re: Insertar registro y obtener un valor como resultado

Luego de hacer el insert ejecuta
Código:
$ultimo_id=mysql_insert_id();
Espero que te sirva.Saludos
__________________
->Aprender es un proceso que incluye el error..
  #3 (permalink)  
Antiguo 18/02/2007, 20:30
 
Fecha de Ingreso: diciembre-2001
Ubicación: Morelia, México.
Mensajes: 312
Antigüedad: 22 años, 4 meses
Puntos: 0
Re: Insertar registro y obtener un valor como resultado

Habría un par de problemas con esa solución, solo serviría para PHP, y no es una instrucción directa en SQL.

es lo mismo que poner en cualquier lenguaje:

START TRANSACTION;

INSERT INTO table (x,y,z) values (a,b,c);

SELECT id FROM table ORDER BY id DESC LIMIT 1;

COMMIT;

Lo que quisiera es omitr ese select, y que de una manera simple me regrese el id generado para ese insert específicamente. En tu caso si se producen 5 INSERTs simultáneos cual me daría??.. en este caso al ser una Transacción me da el mismo, pero quisiera reducir ese paso.
  #4 (permalink)  
Antiguo 19/02/2007, 04:43
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: Insertar registro y obtener un valor como resultado

Cita:
En tu caso si se producen 5 INSERTs simultáneos cual me daría??..
La funcion siempre devuelve el identificador del ultimo insert. Y la verdad que no se como hacerlo en SQL omitiendo el select. Salud2 y suerte.
__________________
->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 15:19.