| From: | "Ryan Vaughan" <ryanv(at)mminternet(dot)com> | 
|---|---|
| To: | <pgsql-novice(at)postgresql(dot)org> | 
| Subject: | composite primary key to foreign key | 
| Date: | 2004-03-12 19:52:05 | 
| Message-ID: | twig.1079121125.97560@mminternet.com | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-novice | 
I have a table with 4 columns, 3 of which make up a composite primary key. 
None of these columns are unique, but the combination of the the three 
primary keys will be unique:
CREATE TABLE Table1 (
   col1 integer,
   col2 varchar(20),
   col3 varchar(20),
   col4 varchar(20),
   CONSTRAINT PRIMARY KEY (col1, col3, col4)
);
In another table I have 3 columns:
CREATE TABLE Table2 (
   field1 integer,
   field2 integer,
   field3 integer,
);
I'd like to have field2 in table2 be a foreign key of col1 in table1.  Since 
col1 is not unique, is this possible or do I have to either bring in 
extraneous data from table1...col1, col2, and col3, or create some unique 
counter in table1 to use as reference?  All I care about in field2 of table2 
is that it matches something in col1 in table1, I don't want the other data 
in table1.  I've searched archives but maybe I'm not looking for the right 
thing.  Thanks.
-Ryan
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Eric Wilke | 2004-03-13 09:10:55 | PostgreSQL 7.2.1 on OS X -- psql: FATAL 1: user "postgres" does not exist | 
| Previous Message | Ron St-Pierre | 2004-03-12 17:06:11 | Re: Finding slow queries? |