esti...@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.
--
TIP 5: ¿Has leído nuestro extenso FAQ?
         http://www.postgresql.org/docs/faqs.FAQ.html

Responder a