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

Como saber el id del registro que se eta introduciendo

Estas en el tema de Como saber el id del registro que se eta introduciendo en el foro de Mysql en Foros del Web. Necesito introducir en un campo el id del registro que se esta introduciendo cuando hago un: Código: insert into table (valor_id) values(20); si la inserción ...
  #1 (permalink)  
Antiguo 27/02/2008, 06:01
Avatar de bichomen  
Fecha de Ingreso: junio-2003
Ubicación: Barcelona y alrededores, España
Mensajes: 877
Antigüedad: 20 años, 10 meses
Puntos: 2
Como saber el id del registro que se eta introduciendo

Necesito introducir en un campo el id del registro que se esta introduciendo cuando hago un:

Código:
insert into table (valor_id) values(20);

si la inserción va a generar el id 20 por ejemplo como guardo ese valor en esa consulta?, no se si me explico


bichomen
__________________
"Se sabe con exactitud, con cuanta imprecisión, se sabe algo"
Linux Registered User #320332
  #2 (permalink)  
Antiguo 27/02/2008, 15:22
 
Fecha de Ingreso: febrero-2008
Mensajes: 17
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: Como saber el id del registro que se eta introduciendo

Hola Bichomen:

Puedes obtener el maximo id así:

SELECT MAX(valor_id) FROM tu_tabla;

y al valor devuelto le sumas 1.

Si tú eres el unico que ingresa los registros, no hay problema, de lo contrario el id podría cambiar hasta que tú insertes el nuevo registro.

Claro que se podría bloquear la escritura en la tabla hasta que se ingrese el nuevo registro, pero ahora no tengo tiempo; voy al médico y tengo un taxi en la puerta.

Sugerencia: si puedes haz que el campo id se autoincremente y listo.
Si la idea es obtener el id para ingresarlo en otra tabla usa Innob o realiza otra consulta después de la inserción para obtener el nuevo id.

Saludos.
  #3 (permalink)  
Antiguo 27/02/2008, 17:11
Avatar de bichomen  
Fecha de Ingreso: junio-2003
Ubicación: Barcelona y alrededores, España
Mensajes: 877
Antigüedad: 20 años, 10 meses
Puntos: 2
Re: Como saber el id del registro que se eta introduciendo

yo había echo un:

Código:
select id from tabla order by id desc limit 0 , 1;
El problema de tu consulta y la mía es que si el ultimo id introducido es por ejemplo 120 y se introducen por ejemplo 2 registros mas y estos por la razón que sean se borran, cuando tu vayas a introducir el id lo que harás es 120 + 1 = 121, pero en realidad el id sera123, esa es la razón por la que busco detectar el id antes de introducirlo


bichomen
__________________
"Se sabe con exactitud, con cuanta imprecisión, se sabe algo"
Linux Registered User #320332
  #4 (permalink)  
Antiguo 29/02/2008, 05:51
Avatar de bichomen  
Fecha de Ingreso: junio-2003
Ubicación: Barcelona y alrededores, España
Mensajes: 877
Antigüedad: 20 años, 10 meses
Puntos: 2
Re: Como saber el id del registro que se eta introduciendo

Hola repesco este tema a ver si alguien me puede echar una mano


bichomen
__________________
"Se sabe con exactitud, con cuanta imprecisión, se sabe algo"
Linux Registered User #320332
  #5 (permalink)  
Antiguo 29/02/2008, 06:55
 
Fecha de Ingreso: junio-2006
Mensajes: 330
Antigüedad: 17 años, 10 meses
Puntos: 4
Re: Como saber el id del registro que se eta introduciendo

Creo que te entiendo.. Se me ocurre que puedes guardar el ultimo id ingresado en una tabla temporal y ese id es al que le vas a sumar.

Por ejemplo, vamos a comenzar con un primer registro en la tabla que va a hacer 1, o tambien lo puedes obtener con mysql_insert_id(); la primera vez, luego guardas ese valor en la tabla temporal. Cuando vayas a ingresar el segundo registro busca el de la tabla tamporal y le sumas 1, lo guardas en la temporal, y asi sucesivamente, de manera que si eliminas no afectara los id.

Espero que te ayude..


Bye

Última edición por greisy; 29/02/2008 a las 08:04
  #6 (permalink)  
Antiguo 01/03/2008, 19:24
Avatar de bichomen  
Fecha de Ingreso: junio-2003
Ubicación: Barcelona y alrededores, España
Mensajes: 877
Antigüedad: 20 años, 10 meses
Puntos: 2
Re: Como saber el id del registro que se eta introduciendo



Perfecto, muchas gracias!!


bichomen
__________________
"Se sabe con exactitud, con cuanta imprecisión, se sabe algo"
Linux Registered User #320332
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 03:16.