From: | Scott Marlowe <scott(dot)marlowe(at)gmail(dot)com> |
---|---|
To: | Richard Broersma <richard(dot)broersma(at)gmail(dot)com> |
Cc: | Yan Cheng Cheok <yccheok(at)yahoo(dot)com>, pgsql-general(at)postgresql(dot)org |
Subject: | Re: Is there any different for foreign key to be serial instead of integer |
Date: | 2010-01-07 04:36:39 |
Message-ID: | dcc563d11001062036m7d3bdcf8w51813a2bd7e0d5a1@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Wed, Jan 6, 2010 at 9:08 PM, Richard Broersma
<richard(dot)broersma(at)gmail(dot)com> wrote:
> On Wed, Jan 6, 2010 at 7:51 PM, Yan Cheng Cheok <yccheok(at)yahoo(dot)com> wrote:
>
>
>> instead of let customer_id being type as integer, can i let it be serial? is there any difference?
>>
>> if the table referenced by customer_id is having primary key typed big serial, customer_id shall be declared as bigint ?
>
> This is a good section about the distinction between:
>
> serial -> integer
> bigserial -> bigint
>
> the short answer is that the serial type is actually is the datatype
> *integer* with the sequence generator attached to the default value of
> the column.
>
> So it only makes sense for primary key to be defined as serial. A
> serial foreign key would be nonsensical since foreign keys should be
> be generating their own values.
Pretty sure the OP was talking about referencing a bigserial from a
foreign key, which makes perfect sense for certain types of mappings.
FKs don't generate their own values, they reference values in a PK or
unique field somewhere else really.
From | Date | Subject | |
---|---|---|---|
Next Message | Richard Broersma | 2010-01-07 04:39:57 | Re: Is there any different for foreign key to be serial instead of integer |
Previous Message | Tom Lane | 2010-01-07 04:23:31 | Re: FULL JOIN is only supported with merge-joinable join conditions |