Search Postgresql Archives

Re: OID Usage

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

 



Hi,

On Fri, 14 Jan 2005, Bo Lorentsen wrote:

Michael Glaesemann wrote:

You can use currval() to get the sequence value that was pulled from your insert. You can check the documentation for usage, as well as searching the archives for discussions of using OIDs as part of your database logic.

I know this, but i like not to know anything about the metadata of the table i use. Basicly using the same functionality, as given in mysql in the mysql_insert_id, as I use the same low level code for both DB's (until my boss give in totally to PG :-)).

why should your application not want to know about the metadata of it's own tables ? That sounds quite strange when you think about it.

If you name your sequences in a generic way you can alway construct the name of the sequence from the name of the table and the id column.

We use this in our php framework

        function insert_id()
        {
                global $pg_conn;
                if(isset($pg_conn)) {
                        $query = sprintf("SELECT currval('%s_%s_seq') AS id",$this->table,$this->id_column);
                        $result = @pg_query($pg_conn,$query);
                        $row = pg_fetch_assoc($result);
                        return strval($row["id"]);
                } else {
                        return 0;
                }
        }

Greetings
Christian

--
Christian Kratzer                       ck@xxxxxxxxx
CK Software GmbH                        http://www.cksoft.de/
Phone: +49 7452 889 135                 Fax: +49 7452 889 136

---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/docs/faqs/FAQ.html

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux