From: | Gabriel Messner <gabmessner(at)gmail(dot)com> |
---|---|
To: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Problema secuencia last_value |
Date: | 2009-09-21 15:03:19 |
Message-ID: | 1708890c0909210803x9a6fa5es302f82d8efcb4b2e@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Estimad(at)s colisteros, expongo mi problema:
Tengo una base de datos con dos tablas:
La primera tabla ('propietarios') está formada por dos campos:
'id','nombre' donde id es un campo tipo serial con una secuencia
asociada 'propietario_id_seq'
La segunda tabla ('parcelas') está formada por tres campos:
'id_propiet', 'ano_compra','id' donde 'id_propiet' es el identificador
único del propietario.
Para dar de alta un nuevo propietario en la tabla 1 y las parcelas de
su propiedad en la tabla 2 tengo un script en PHP en el que ejecuto la
siguiente sintaxis:
<?
//no pongo la conexión a la base de datos
//inserto un propietario en la primera tabla
$insert_propietario = "INSERT INTO propietarios (nombre) VALUES
('Manuel Alonso')";
pg_query($insert_propietario);
//Ahora quiero recuperar el id asignado por la secuencia
'propietario_id_seq' a este usuario para pasarlo como variable a la
tabla 'parcelas'
$lastid = "SELECT last_value from propietario_id_seq;";
$qery_lastid = pg_query($lastid);
$val_lastid = pg_fetch_result($qery_lastid, 0, 0);
//inserto una fila en la tabla 'parcelas'
$insert_parcela = "INSERT INTO parcelas (ano_compra,id_propiet) VALUES
("2009",'". $val_lastid."')";
pg_query($insert_parcela);
?>
Todo marcha bien hasta que reinicio el servidor postgres. Justo
después de reiniciarlo al insertar un nuevo propietario no me devuelve
el last_value de la secuencia.
Alguien puede decirme como solucionar esto o si estoy enfocando mal el script?
Gracias por adelantado.
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2009-09-21 15:04:05 | Re: Problemas de concurrencia? |
Previous Message | Calabaza | 2009-09-21 14:56:35 | Re: Tildes |