Re: automatic insert of next sequence value?
| От | Alfred Perlstein |
|---|---|
| Тема | Re: automatic insert of next sequence value? |
| Дата | |
| Msg-id | 20001012102210.K272@fw.wintelcom.net обсуждение исходный текст |
| Ответ на | automatic insert of next sequence value? (J B Bell <jbbell@intergate.ca>) |
| Ответы |
Re: automatic insert of next sequence value? - Thank you!
|
| Список | pgsql-general |
* J B Bell <jbbell@intergate.ca> [001012 10:13] wrote:
> Hi,
>
> I've recently started with pgsql after having used mysql. Oddly, a problem
> the latter seems to have followed me.
>
> When I set up a field with a default value to use a sequence (with "nextval"),
> It doesn't work automatically. Both using DBI and the pgsql cli, if I do
>
> INSERT INTO foo VALUES (NULL);
>
> or
>
> INSERT INTO foo VALUES ('');
>
> I get an error or null is inserted in the first case, if the field is set
> non-null, or a 0 in the second case.
>
> Of course without this, a good part of the convenince of auto-incrementing is
> defeated. I can work around it by looking up the appropriate value, but then
> I need to do locking as well, which is likely slower and definitely more
> annoying.
>
> Is there some settable option that determines what will cause a default value
> to be inserted? Is this a compile-time option of some sort? I've been
> searching around for a couple of weeks on this, with no luck in the docs. I
> would be very grateful for any assistance.
This is because you're abusing INSERT, the porper way to do insert is
to specifify which columns explicitly:
INSERT INTO foo (col1, col3) VALUES ( 5, 6 );
now, if col2 has a default value it will be set properly.
-Alfred
В списке pgsql-general по дате отправления: