2013-06-07 2 views
3

저는 아직 postgreSQL을 처음 사용하고 있습니다. 내가 만든 두 개의 테이블을 가지고 돌아가서 기본 키와 외래 키 제약 조건을 추가하고 내가하는 것과 상관없이 외래 키를 추가 할 수없는 것처럼 보입니다.PostgreSQL : 외래 키 제약 조건의 열 참조가 없습니다.

두 테이블 : : 여기가 무슨 여기

test=# ALTER TABLE customer ADD CONSTRAINT 
state FOREIGN KEY (code) REFERENCES 
statename (code) >MATCH FULL; 

내가지고있어 오류 발생 :

ERROR: column "code" referenced in foreign key constraint does not exist 

I

test=# \d statename 
     Table "public.statename" 
Column |  Type  | Modifiers 
--------+---------------+----------- 
code | character(2) | not null 
name | character(30) | 
Indexes: 
    "statename_pkey" PRIMARY KEY, btree (code) 

test=# \d customer 
      Table "public.customer" 
    Column |  Type  | Modifiers 
-------------+---------------+----------- 
customer_id | integer  | 
name  | character(30) | 
telephone | character(20) | 
city  | character(25) | 
street  | character(40) | 
state  | character(2) | 
zipcode  | character(10) | 
country  | character(20) | 

을 여기에 내가 실행 해요 명령이다 칼럼을보고있어! 나는 그것이 존재한다는 것을 안다! 동생을 도와주세요!

답변

3

고객 테이블에 코드가 없습니다. 그것은 주입니다.

ALTER TABLE customer 
ADD CONSTRAINT state FOREIGN KEY (state) 
REFERENCES statename (code) >MATCH FULL; 
+0

감사합니다. Derek! 그거였다! – caleb

+0

@Derek, "상태"가 외래 키와 어떤 열 이름을 결정합니까? 테이블 작성과 같이 이름을 부여하지 않고 참조를 추가하려고합니다. – Line

+0

기본적으로 열 이름을 지정해서는 안되며 대신 테이블 이름 만 지정해야합니까? –