From: | Alessio Bragadini <alessio(at)albourne(dot)com> |
---|---|
To: | Emils Klotins <emils(at)mail(dot)usis(dot)bkc(dot)lv> |
Cc: | pgsql-sql(at)postgreSQL(dot)org |
Subject: | Re: [SQL] INSERT w/o variable names for a SERIAL type? |
Date: | 2000-02-25 15:14:26 |
Message-ID: | 38B69C52.11EEF672@albourne.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
Emils Klotins wrote:
> I am using, which is written for connecting to another server
> and uses the AUTO_INCREMENT and BLOB fields (for storing
> text). Apparently it was written for mysql(?).
Most probably.
> I wanted to write a #define or two to change the relevant
> places, such as
>
> #define IDKEY "INTEGER AUTO_INCREMENT PRIMARY
> KEY" // mysql version
> #define IDKEY "SERIAL PRIMARY KEY" // postgres
Note that SERIAL is syntactic sugar for
INT4 NOT NULL DEFAULT NEXTVAL('<table>_<field>_SEQ')
> INSERT INTO mytable VALUES (NULL, 'textvalue');
> and NULL would get translated into the real value.
Please allow me not to comment on mysql behaviour...
> Now, if I want to write a general #define, I'd need to have a way
> to specify 'default' for SERIAL field, for, if I omit the id field in
> VALUES, I need to specify all the rest of the fields explicitly.
>
> Is there any value I could put in place of id in VALUES part, to
> make it replaced with the next value in sequence?
NEXTVAL('<table>_<field>_seq') should work.
--
Alessio F. Bragadini alessio(at)albourne(dot)com
APL Financial Services http://www.sevenseas.org/~alessio
Nicosia, Cyprus phone: +357-2-750652
"It is more complicated than you think"
-- The Eighth Networking Truth from RFC 1925
From | Date | Subject | |
---|---|---|---|
Next Message | Matthew Hagerty | 2000-02-25 15:56:18 | Finding missing records... |
Previous Message | Emils Klotins | 2000-02-25 13:59:40 | INSERT w/o variable names for a SERIAL type? |