Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   PHP (https://www.clubdelphi.com/foros/forumdisplay.php?f=15)
-   -   Saber el valor auto_increment antes del insert (https://www.clubdelphi.com/foros/showthread.php?t=36455)

cahosoft 12-10-2006 17:02:57

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

Lonidas 12-10-2006 17:22:46

Para que deseas conocer el próximo valor????

cahosoft 12-10-2006 17:22:57

ya se la respuesta
 
select last_insert_id()
from t_comu_inev_grupo_grupo

saca el nuevo valor del auto_increment

cahosoft 12-10-2006 17:25:23

para imprimir el valor
 
para imprimir el valor y no tener que consultar en la db

kayetano 12-10-2006 20:18:32

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().

dec 12-10-2006 20:51:47

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.

cahosoft 12-10-2006 22:07:20

si tienes razon
 
a gracias por la recomendacion, si hay varios usuarios concurrentes puede que se presente problemas con el id.......

dec 12-10-2006 22:12:39

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... ;)

roman 12-10-2006 22:21:26

Cita:

Empezado por dec
y, acaso pudiera utilizarse no sólo con fines informativos...

¿Cómo cuál? ;)

// Saludos

dec 13-10-2006 09:46:47

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. :)


La franja horaria es GMT +2. Ahora son las 07:34:34.

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