Re: serial type question

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



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)
>



[Index of Archives]     [Postgresql General]     [Postgresql Admin]     [PHP Users]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Databases]     [Yosemite Backpacking]     [Postgresql Jobs]

  Powered by Linux