Foros del Web » Programando para Internet » PHP »

saber ultimo registro ingresado en Mysql

Estas en el tema de saber ultimo registro ingresado en Mysql en el foro de PHP en Foros del Web. Hola chicos de nuevo. Tengo una tabla con primera columna "id_user" que es primary key integer y autoincrement ( o sea 1,2,3,...) Como puedo saber ...
  #1 (permalink)  
Antiguo 02/05/2007, 12:08
 
Fecha de Ingreso: septiembre-2006
Mensajes: 349
Antigüedad: 17 años, 6 meses
Puntos: 0
saber ultimo registro ingresado en Mysql

Hola chicos de nuevo.
Tengo una tabla con primera columna "id_user" que es primary key integer y autoincrement ( o sea 1,2,3,...)
Como puedo saber el valor de este id_user del ultimo insert?
Yo uso esa sentencia

Código PHP:
SELECT FROM users ORDER BY fecha_upload DESC LIMIT 1 
Pero no es valido.
Por ejemplo si tengo ultimo id_user real en la tabla "20" pero se ha registrado 30 usuarios y 10 se ha dado de baja entonces si el ultimo se quedaba en id_user=20 el siguiente registrado tendra id_user 31.

Y lo que nesesito yo es este numero 30 ( o sea ultimo real) aunque el registro ya ha sido borrado.
Donde se guarda la numeracion del campo primary key?

Gracias a todos chicos.
  #2 (permalink)  
Antiguo 02/05/2007, 12:13
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Re: saber ultimo registro ingresado en Mysql

Hola viktoria

Echa un ojo a la función mysql_insert_id()

Saludos,
  #3 (permalink)  
Antiguo 02/05/2007, 12:15
Avatar de el cirujano  
Fecha de Ingreso: mayo-2003
Ubicación: Frente al PC
Mensajes: 609
Antigüedad: 20 años, 11 meses
Puntos: 3
Re: saber ultimo registro ingresado en Mysql

Código PHP:
SELECT MAX(campoID) AS ult_id FROM users
esta tambien es otra opcion valida:-p
__________________
CSS2 + AJAX + PHP + MySQL, una mezcla sin competencia!!!!!!
  #4 (permalink)  
Antiguo 02/05/2007, 12:41
 
Fecha de Ingreso: septiembre-2006
Mensajes: 349
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: saber ultimo registro ingresado en Mysql

gracias chicos! estoy probando con las 2 opciones
  #5 (permalink)  
Antiguo 02/05/2007, 12:52
 
Fecha de Ingreso: septiembre-2006
Mensajes: 349
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: saber ultimo registro ingresado en Mysql

La opcion SELECT MAX(campoID) AS ult_id FROM users;

no funciona correctamente!
SI no hay datos en la DB me devuelve valor "1" aunque habia 30 registros eliminados de forma previa.
Despues de siguiente insert me devuelve el valor "31"
Nesesito ultimo valor del id_user, aunque este ultimo valor ha sido eliminado!.

Sigo investigando
  #6 (permalink)  
Antiguo 02/05/2007, 13:02
Avatar de el cirujano  
Fecha de Ingreso: mayo-2003
Ubicación: Frente al PC
Mensajes: 609
Antigüedad: 20 años, 11 meses
Puntos: 3
Re: saber ultimo registro ingresado en Mysql

entonces necesitas la funcion mysql_info() que te dirá, cuando insertas, borras o actualizas la base de datos...
__________________
CSS2 + AJAX + PHP + MySQL, una mezcla sin competencia!!!!!!
  #7 (permalink)  
Antiguo 02/05/2007, 13:39
Avatar de turco_7  
Fecha de Ingreso: diciembre-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.044
Antigüedad: 20 años, 4 meses
Puntos: 19
Re: saber ultimo registro ingresado en Mysql

con esta query deberias poder solucionar tu problema ...

1) para poder jugar con el tema de los autoincremento tuve que crear esta tablita ...
Código PHP:
usuarios  CREATE TABLE `usuarios` (                                                          
            `
idint(11NOT NULL auto_increment,                                            
            `
usuariovarchar(255collate latin1_general_ci default NULL,                   
            `
passwordvarchar(255collate latin1_general_ci default NULL,                  
            
PRIMARY KEY  (`id`)                                                              
          ) 
2)

inserto un par de registros... y borro uno...
Código PHP:
insert into `test`.usuarios(usuariopasswordvalues('uno','96b141d5e4454b91391e3e8b37e11302');
insert into `test`.usuarios(usuariopasswordvalues('dos','96b141d5e4454b91391e3e8b37e11302');
insert into `test`.usuarios(usuariopasswordvalues('tres','96b141d5e4454b91391e3e8b37e11302');
insert into `test`.usuarios(usuariopasswordvalues('cuatro','96b141d5e4454b91391e3e8b37e11302');

delete from test where usuario 'tres' 
3) ahora para conocer el siguiente id ... uso esta consulta...
Código PHP:
select auto_increment from `information_schema`.tables where TABLE_SCHEMA 'test' and TABLE_NAME 'usuarios' 
en mi caso use la base de datos 'test' y el nombre del campo que quiero saber es usuario... ustedes cambiaran esa de acuerdo al nombre de la db y el nombre del campo ... el resultado que devuelve en este ejemplo es "5"

espero que les sirva...

saludos
__________________
Mi Blog http://turco7.blogspot.com
Usuario Linux : 404289
Mi última página: http://www.digitalservicecba.com.ar - Reparacion de camaras digitales!
  #8 (permalink)  
Antiguo 02/05/2007, 13:40
 
Fecha de Ingreso: septiembre-2006
Mensajes: 349
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: saber ultimo registro ingresado en Mysql

Gracias el cirujano! estoy investigando.
Ahora que pregunto, como puedo eliminar esos id_user utilizados para pruebas para poner el contador a 0?

SE que puedo borrar y crear la tabla de nuevo pero hay otro modo?
  #9 (permalink)  
Antiguo 02/05/2007, 13:43
Avatar de el cirujano  
Fecha de Ingreso: mayo-2003
Ubicación: Frente al PC
Mensajes: 609
Antigüedad: 20 años, 11 meses
Puntos: 3
Re: saber ultimo registro ingresado en Mysql

Viktoria con:

Código PHP:
 TRUNCATE TABLE `tabla
te debo advertir que con este script borras todo lo de la base de datos y la devuelve a " 0 "
__________________
CSS2 + AJAX + PHP + MySQL, una mezcla sin competencia!!!!!!
  #10 (permalink)  
Antiguo 02/05/2007, 18:10
 
Fecha de Ingreso: septiembre-2006
Mensajes: 349
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: saber ultimo registro ingresado en Mysql

Muchissimas gracias de nuevo!
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.
Tema Cerrado

SíEste tema le ha gustado a 2 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 13:51.