For Question #2 this is how I handle it.
$query = pg_Exec( $dbconnect,
"select nextval(table_name_seq);");
Store that value in a variable then you can insert it into your table1 with
the serial (PK) and into the table2 as a reference.
$query = pg_Exec( $dbconnect,
"insert into table1 (serial, col1, col2)
values
(variable_set_by_nextval, data1, data2);
insert into table2 (table2_PK, table2_col1,
table2_col_that_references_table1)
values(table2_PK_data ,
table2_col1_data, variable_set_by_nextval);");
You may also want to take a look at this section of the postgresql manual
it'll be of help.
http://www.postgresql.org/idocs/index.php?functions-sequence.html
As for Question #1 it should work just fine if you do a begin and commit
$query = pg_Exec( $dbconnect,
"BEGIN WORK;
insert into table1 (serial, col1, col2)
values (variable_set_by_nextval, data1,
data2);
insert into table2 (table2_PK, table2_col1,
table2_col_that_references_table1)
values(table2_PK_data , table2_col1_data,
variable_set_by_nextval);
COMMIT WORK;");
Good Luck
Phil
----- Original Message -----
From: "Ray Hunter" <rhunter@venticon.com>
To: <pgsql-php@postgresql.org>
Sent: Wednesday, November 13, 2002 2:56 PM
Subject: [PHP] serial type question
> I have a php script that will be inserting from a form into two tables.
>
> Table1 has a serial data type.
> Table2 references Table1's serial data type (PK).
>
> Here are my questions:
> 1. Can i run a transaction process from php? If yes, how?
> 2. How can i get the serial value for inserting into the 2nd table?
>
>
> --
> Thank you,
>
> Ray Hunter
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 2: you can get off all lists at once with the unregister command
> (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)
>