Re: Add Foreign Keys To Table

From: John R Pierce <pierce(at)hogranch(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: Add Foreign Keys To Table
Date: 2011-07-07 19:53:57
Message-ID: 4E160ED5.2060506@hogranch.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 07/07/11 10:40 AM, Rich Shepard wrote:
> I'm having difficulty finding the correct syntax to modify an existing
> table. The modification is to add two columns, each a foreign
> reference to
> the two key columns of another table.
>
> The other table:
>
> CREATE TABLE station_type (
> sta_type VARCHAR(50),
> secondary_type VARCHAR(50),
> natural_indic BOOL,
> PRIMARY KEY (sta_type, secondary_type)
> );
>
> When I try to alter the other table to add columns:
> sta_type VARCHAR(50) REFERENCES station_type(sta_type) and
> secondary_type VARCHAR(50) REFERENCES station_type(secondary_type)
> I get syntax errors.

Since your PK of station_type is a composite, your foreign key must also
be composite.

CREATE TABLE stuffed (
id serial;
otherestuffs text;
sta varchar(50),
sec varchar(50),
FOREIGN KEY (sta, sec) REFERENCES station_type(sta_type,
secondary_type) ;
);

--
john r pierce N 37, W 122
santa cruz ca mid-left coast

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Rich Shepard 2011-07-07 20:02:41 Re: Add Foreign Keys To Table
Previous Message John R Pierce 2011-07-07 19:48:34 Re: Insufficient privileges.