Re: How to INSERT empty line into SEQUENTIAL table from PHP - Mailing list pgsql-general

From Julius Tuskenis
Subject Re: How to INSERT empty line into SEQUENTIAL table from PHP
Date
Msg-id 48561E53.2020805@gmail.com
Whole thread Raw
In response to Re: How to INSERT empty line into SEQUENTIAL table from PHP  (Stefan Schwarzer <stefan.schwarzer@grid.unep.ch>)
Responses Re: How to INSERT empty line into SEQUENTIAL table from PHP
List pgsql-general
I guess you get duplicate value error because you have previously
inserted ID column with your own values. Check the sequence
page_input_id_seq if it points to the right next value. If not - correct
it to a MAX(ID) +1

Julius Tuskenis



Stefan Schwarzer rašė:
> It doesn't work like this:
>
>     INSERT INTO page_input (id, page, text_en, text_fr, text_es,
> text_ar) VALUES (NULL, '', '', '', '', '')
>
>     --> ERROR: null value in column "id" violates not-null constraint
>
> nor like this:
>
>     INSERT INTO page_input (page, text_en, text_fr, text_es, text_ar)
> VALUES ('', '', '', '', '')
>
>     --> ERROR: duplicate key value violates unique constraint "id_unique"
>
> nor like this:
>
>     INSERT INTO page_input (id, page, text_en, text_fr, text_es,
> text_ar) VALUES (nextval('page_input_id_seq'::regclass), '', '', '',
> '', '')
>
>     --> ERROR: duplicate key value violates unique constraint "id_unique"
>
>
>
> On Jun 16, 2008, at 8:54 AM, Julius Tuskenis wrote:
>
>> Hi, Stefan.
>>
>> your second example should work for you.
>> INSERT INTO table_xx (field2, field3, field4) VALUES ('', '', '');
>> (keeping in mind, that your ID column is of type serial or has
>> DEFAULT NEXTVAL('some_sequence') ).
>> You can also insert values yourself:
>> INSERT INTO table_xx (ID, field2, field3, field4) VALUES
>> (NEXTVAL('some_sequence'), '', '', '');
>>
>> Julius Tuskenis
>>
>>
>>
>> Stefan Schwarzer rašė:
>>> Hi,
>>>
>>> rahter dump question, I guess....
>>>
>>> But I have a table with a sequential index field, into which I would
>>> like to add from time to time another line (via webbrowser), which
>>> in turn, stays first empty, before it's being filled in later (via
>>> webbrowser).
>>>
>>> Because the ID field is sequential and indexed, I can't use
>>>
>>>    INSERT INTO table_xx (ID, field2, field3, field4) VALUES ('', '',
>>> '', '');
>>>
>>> neither (skipping ID because it should be filled in automatically):
>>>
>>>    INSERT INTO table_xx (field2, field3, field4) VALUES ('', '', '');
>>>
>>> How am I supposed to do it?
>>>
>>> Thanks for any hints,
>>>
>>> Stef
>>>
>>>
>
>

pgsql-general by date:

Previous
From: Stefan Schwarzer
Date:
Subject: Re: How to INSERT empty line into SEQUENTIAL table from PHP
Next
From: Stefan Schwarzer
Date:
Subject: Re: How to INSERT empty line into SEQUENTIAL table from PHP