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@xxxxxxxxxxxx> To: <pgsql-php@xxxxxxxxxxxxxx> 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@xxxxxxxxxxxxxx) >