Search Postgresql Archives

Re: Sequence

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

 



Alex Cheshev wrote:
Hello.
A table has two primary keys:

It appears that you really meant "a table has a two-field composite primary key". There can only be one primary key for a table, that's the whole point - but the primary key can be composed of more than one field.

[Note: if you format your SQL when you post, more people will bother to read it and try to help you out. For example, your CREATE TABLE could've been better written as:]

CREATE TABLE example (
>   pk1 integer,
>   pk2 integer,
  PRIMARY KEY (pk1, pk2)
);

To add a new record I use command:

INSERT INTO example (pk1, pk2) VALUES (0, 0).

Before adding the new record I have to find out the last value of pk2. How can I use something like this:

INSERT INTO example (pk1, pk2) VALUES (0, nextval('pk2'))

?

If a table just has one primary key I can use sequence (CREATE SEQUENCE). What about two primary keys?

You can still use a SERIAL type or manually use CREATE SEQUENCE and nextval() .

I suspect I'm missing the point of your question, though. Perhaps if you gave a real-world example of what you are trying to do, with meaningful field names?

--
Craig Ringer


[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