Skip site navigation (1) Skip section navigation (2)

Re: fallo en insert?

From: "Cesar A(dot)" <carbonarac(at)cantv(dot)net>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: fallo en insert?
Date: 2004-05-29 12:49:00
Message-ID: 326990-22004562912490251@cantv.net (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
Gracias... con las ayudas de estas listas un va teniendo mayor vision, por
lo que dicen y por lo que uno imagina luego de leer de ustedes...

>Seguro que no hay otro valor?
>Probaste esto desde el psql:
>
>=> select * from persona

Seguro, con cada prueba que hacia por formulario, lo chequeaba desde psql

>Que dicen los logs de Postgresql?

Como buen novato, no se mirar los logs, ni...

>> $insertar_hab="insert into
>>                           persona(nombre,apellido,doc_id,)
>>                           values('$nom','$ape','$d_i');";
>> pg_exec($conexion,$insertar_hab);
>
>Vamos por partes.
>
>Yo escribiría el INSERT así:
>
>$insertar_hab="insert into
>               persona(nombre,apellido,doc_id,)
>               values('" . $nom . "','" . $ape . "','" . $d_i . "');";

¿Escribir de esta forma me da alguna otra ventaja, aparte de lo "prolijo, y
legible."?

>> Repasemos...
>> En la tabla direccion tengo la clave primaria que se genera
automaticamente
>> (dir_id de tipo serial), esa clave la agrego como ajena a la tabla
persona
>> (dir_id de tipo int references direccion(dir_id))
>>
>> Al intentar hacer 

esto es que me empiezan a saltar fallos...¿es posible que
>> lo tenga mal declarado? o algo???

Creo que mi problema estaba, en que no estaba leyendo bien el
direccion.dir_id,  y no cargaba ni le pasaba nada a persona.dir_id...el
problema lo resolvi, aunque tengo la impresion que fue a lo cavernicola,
luego de insertar la direccion:
...
pg_exec($conexion,$insertar_direc);
    $listar_cod_dir="select dir_id from direccion ;";
    $sql_cod_dir=pg_exec($conexion,$listar_cod_dir);;
    $cuenta_cod_dir=pg_numrows($sql_cod_dir);;
    $a=1;
    $reg=$cuenta_cod_dir - $a;
    $cod_dir=pg_fetch_row($sql_cod_dir,$reg);
    $b=$cod_dir[0];
    $insertar_hab="insert into
                          persona
                          values('$nom','$ape','$d_i',$b);";
    pg_exec($conexion,$insertar_hab);

Creo que hubiera podido acer algo mejor con: pg_getlastoid() pero...no la
se usar, habra que hacer pruebas...


pgsql-es-ayuda by date

Next:From: olivia juradoDate: 2004-05-29 13:56:19
Subject: spool en postgresql
Previous:From: Martin MarquesDate: 2004-05-29 12:00:38
Subject: Re: fallo en insert?

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group