Capitulos de este wiki
  1. 1 Introducción
  2. 2 Recuperar un sólo registro
  3. 3 Conclusión

1 - Introducción

[editar]
Tutorial creado por Mononeurona. Extraido de: http://www.mononeurona.org/index.php?idp=378
27 de Octubre de 2005
Muchas veces la lógica de la aplicación nos obliga a guardar un grupo de datos en dos tablas separadas y relacionadas por el ID de la primera tabla. Es decir, debemos insertar algunos datos en la tabla_uno e inmediatamente después insertar el resto de los datos en la tabla_dos con el ID de la primera tabla como "liga". Generalmente el ID proviene de una secuencia que inicializamos con el tipo "serial" cuando creamos la tabla. Por ejemplo:

CREATE TABLE residentes (
id serial,
nombre varchar(100),
email varchar(60),
fecha_venc date
);


Creará la secuencia residentes_id_seq. Si queremos insertar un registro y conocer el ID de este registro recientemente insertado, podemos usar la función getOne() de PEAR y el comando CURRVAL de PostgreSQL. getOne() se usa cuando sabemos que el query nos regresará un sólo valor. Note que el valor que nos regresa getOne() no es un array, sino una variable simple:

$sql="INSERT INTO residentes VALUES (NEXTVAL('residentes_id_seq'), 'Roberto Carmona', 'robert@gmail.com', '10-05-2008')";
$conn->query($sql); insertamos
$query="SELECT CURRVAL('residentes_id_seq')";
$id = $conn->getOne($query);
El currval actual

Con esto ya tenemos el ID de la secuencia y podemos insertar en la segunda tabla. Fácil y divertido ¿no?
[editar]

Sé el primero en opinar


Tutoriales relacionados con 'Tips de PEAR: CURRVAL, getOne y getRow'

Muchas veces la lógica de la aplicación nos obliga a guardar un grupo de datos... Más »

Autor y licencia de 'Tips de PEAR: CURRVAL, getOne y getRow'


Tutorial de Mononeurona. Extraido de: http://www.mononeurona.org/index.php?idp=378 CopyLeft
Este trabajo está licenciado bajo la Creative Commons License. 1999-2005 © :: MonoNeurona.org ::
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.