Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > PHP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-10-2006
cahosoft cahosoft is offline
Miembro
 
Registrado: jul 2003
Posts: 102
Poder: 21
cahosoft Va por buen camino
Saber el valor auto_increment antes del insert

hola como estan,
tengo una tabla en mysql asi:

CREATE TABLE `t_comu_inev_grupo_grupo` (
`codcomuinev_grupo_grupo` bigint(11) NOT NULL auto_increment,
`codgrupo` bigint(11) default NULL,
`section_id` bigint(20) default NULL,
`fechacomuinev_grupo_grupo` date default NULL,
`horacomuinev_grupo_grupo` time default NULL,
`mensajeinev_grupo_grupo` longtext,
`tituloinev_grupo_grupo` varchar(100) default NULL,
PRIMARY KEY (`codcomuinev_grupo_grupo`)
) TYPE=MyISAM


antes de hacer un insert necesito encontrar el modo de encontrar o saber el valor auto_increment que viene ene la secuencia....
en este caso en el campo codcomuinev_grupo_grupo...
Gracias de ante mano.. por cualquier ayuda
Responder Con Cita
  #2  
Antiguo 12-10-2006
Avatar de Lonidas
Lonidas Lonidas is offline
Miembro
 
Registrado: abr 2006
Posts: 35
Poder: 0
Lonidas Va por buen camino
Para que deseas conocer el próximo valor????
Responder Con Cita
  #3  
Antiguo 12-10-2006
cahosoft cahosoft is offline
Miembro
 
Registrado: jul 2003
Posts: 102
Poder: 21
cahosoft Va por buen camino
ya se la respuesta

select last_insert_id()
from t_comu_inev_grupo_grupo

saca el nuevo valor del auto_increment
Responder Con Cita
  #4  
Antiguo 12-10-2006
cahosoft cahosoft is offline
Miembro
 
Registrado: jul 2003
Posts: 102
Poder: 21
cahosoft Va por buen camino
para imprimir el valor

para imprimir el valor y no tener que consultar en la db
Responder Con Cita
  #5  
Antiguo 12-10-2006
[kayetano] kayetano is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Elche
Posts: 644
Poder: 21
kayetano Va por buen camino
Hola

Ya que estas en el foro de PHP supongo que estas trabajando con PHP, por lo tanto una vez realizado el INSERT puedes obtener el ultimo auto_increment introducido con la intrucción mysql_insert_id().

No se si tu aplicación es monopuesto o multipuesto (por lo general si es via web es multipuesto) pero puede ocurrir que entre la obtención del próximo ID y el INSERT otro usuario realice un INSERT con lo que incrementará el ID de la tambla y tu operación saldrá erronea (no se si me explico), lo ideal es primero insertar el registro y luego obtener el valor de auto_incremente con MYSQL_INSERT_ID().
__________________
Salu2
KAYETANO

Cómo hacer preguntas de manera inteligente
Responder Con Cita
  #6  
Antiguo 12-10-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Cita:
Empezado por cahosoft
para imprimir el valor y no tener que consultar en la db
Hasta donde llego es menester consultar la base de datos... aunque, por otro lado es lógico, ¿no?

Con PHP podría ser algo así:

Código PHP:
$resultado mysql_query("SHOW TABLE STATUS FROM nombrebdatos LIKE 'nombretabla'");
$datosTabla mysql_fetch_object($resultado);
mysql_free_result($resultado);

echo 
$datosTabla->Auto_increment
Más información en MySQL con clase.
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 12-10-2006 a las 20:57:33.
Responder Con Cita
  #7  
Antiguo 12-10-2006
cahosoft cahosoft is offline
Miembro
 
Registrado: jul 2003
Posts: 102
Poder: 21
cahosoft Va por buen camino
si tienes razon

a gracias por la recomendacion, si hay varios usuarios concurrentes puede que se presente problemas con el id.......
Responder Con Cita
  #8  
Antiguo 12-10-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Cita:
Empezado por Cahosoft
a gracias por la recomendacion, si hay varios usuarios concurrentes puede que se presente problemas con el id.......
Editar/Borrar Mensaje
Sí que podrían darse problemas, pero, dependerá de lo que se quiera hacer con el "próximo auto-index".

Ese dato está ahí, no obstante y, acaso pudiera utilizarse no sólo con fines informativos...
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #9  
Antiguo 12-10-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por dec
y, acaso pudiera utilizarse no sólo con fines informativos...
¿Cómo cuál?

// Saludos
Responder Con Cita
  #10  
Antiguo 13-10-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Bueno. Pues la verdad es que ayer se me ocurrió algo que ahora me parece un tanto bárbaro,... así que no lo diré. Pero, si es verdad eso de que la información es poder, de hacer cosas, por ejemplo, lo cierto es que saber cuál es el próximo valor del "auto increment" puede servir de algo en algún caso, fijo.

Por otro lado, al investigar sobre el tema me topé con el "SHOW TABLE ESTATUS", que no sólo te permite averiguar el último "auto increment" de una tabla (o de todas) sino bastantes cosas curiosas más. Al menos a mí me parecen curiosas, vaya.

Y... basta. Lo que iba a decir a continuación prefiero hacerlo en un nuevo Hilo en el apartado de noticias.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Generar un valor por default distinto para cada insert fcios Firebird e Interbase 9 11-10-2006 06:29:32
¿como pasarle a un insert el valor del inputbox? Nelly Varios 1 18-01-2006 23:36:39
Saber el campo con valor mas alto ilichhernandez Conexión con bases de datos 2 10-11-2005 02:00:44
obtener valor de un campo despues de un insert + applyupdates(0) wonder boy Conexión con bases de datos 1 10-06-2004 23:05:39
IBSQL puede devolver un valor haciendo INSERT? altp SQL 2 04-10-2003 22:09:49


La franja horaria es GMT +2. Ahora son las 23:30:29.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi