Foros del Web » Programando para Internet » PHP »

recuperar valor de un campo autoincrementable

Estas en el tema de recuperar valor de un campo autoincrementable en el foro de PHP en Foros del Web. tengo un insert a una tabla que tiene un ID autoincrementable necesito recuperar el ID del ultimo registro para pasarlo inmediatamente a otro insert y ...
  #1 (permalink)  
Antiguo 25/09/2005, 15:55
 
Fecha de Ingreso: junio-2005
Mensajes: 38
Antigüedad: 12 años, 6 meses
Puntos: 0
recuperar valor de un campo autoincrementable

tengo un insert a una tabla que tiene un ID autoincrementable necesito recuperar el ID del ultimo registro para pasarlo inmediatamente a otro insert y afectar otra tabla, vale la pena enunciar que esto se esta haciendo en un solo formulario, en fin estoy haciendo lo siguiente:

$ins=mysql_query("insert into estudios(ID_ESTUDIOS,ID_NIVEL,ANO_INIC,ANO_FINAL,I D_INVESTIGADOR,ID_TITULOS) values('','$ID_NIVEL','$ANO_INIC','$ANO_FINAL','$I D_INVESTIGADOR','$ID_TITULOS')",$link);

$id="SELECT MAX(ID_ESTUDIOS) AS last_id FROM estudios";// esto lo estamos tratando de hacer pero no nos funciona

$ins1=mysql_query("insert into estudios_institucion(ID_ESTUDIOS,ID_INSTITUCION,ID _CIUDAD,ID_INVESTIGADOR) values('$id','$ID_INSTITUCION','$ciudad','$ID_INVE STIGADOR')",$link);

agrdadecería cualquier aporte gracias
  #2 (permalink)  
Antiguo 25/09/2005, 17:14
Avatar de FuLaNo_  
Fecha de Ingreso: mayo-2003
Ubicación: Don Torcuato, Buenos Aires, Argentina
Mensajes: 1.250
Antigüedad: 14 años, 6 meses
Puntos: 2
utiliza:

$sql = mysql_query("SELECT id FROM nombre_tabla ORDER BY id DESC LIMIT 0,1);
if($row=mysql_fetch_assoc($sql)) { $LASTID = $row[id]; }

Espero sea lo que necesitas...
__________________
I Love Programming...
  #3 (permalink)  
Antiguo 25/09/2005, 21:31
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Tienes dos formas de hacerlo:

1) Vía PHP .. función mysql_insert_id() (ejecutada despues de tus INSERT)
http://www.php.net/manual/en/functio...-insert-id.php

2) Vía SQL .. con la función SQL de mismo nombre a la anterior.

Según comenta Mysql .. es más fiable usar la versión SQL y más todavía si todo queda bajo una "transación". Ejemplo:

Código PHP:
<?
mysql_query
("LOCK TABLES apc_forms WRITE");
mysql_query("SET AUTOCOMMIT = 0");
mysql_query("INSERT INTO apc_forms (form_title, form_event_id, form_expirey) VALUES ('title',1,'2005-10-10')");
$id=mysql_query("SELECT LAST_INSERT_ID()");
mysql_query(INSERT INTO otra_tabla (id,id_apc_forms,otrosVALUES ('',$id,'');
mysql_query("COMMIT");
mysql_query("UNLOCK TABLES");
?>
basado en Autor: bholbrook at servillian dot com
(sección comentarios de los usuarios de php.net función mysql_last_id())

Un saludo,
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 05:27.