2016-11-06 5 views
0

다른 테이블의 기본 키에 대한 참조를 한 테이블의 기본 키에 추가하려고합니다.ALTER COLUMN 명령이 작동하지 않습니다.

내 코드 :

CREATE TABLE[payment] 
(ID int Primary key) 

CREATE TABLE [tab] 
(ID int Primary key references tab2(ID)) 

Alter Table payment 
alter column ID 
ADD constraint fk_payment 
references tab(ID) 

내가 제약 근처의 구문이 잘못되었다는 오류를 얻을,하지만 난 때문에 테이블 알터 테이블의없는 변화 정도

을 변경 해야할지 모르겠어 유일한 옵션입니다. 하나의 테이블에서 다른 테이블로 참조하는 것은 작동하지 않습니다.

ALTER TABLE dbo.payment 
    ADD CONSTRAINT fk_payment 
     FOREIGN KEY(ID) REFERENCES dbo.tab(ID) 

당신은 할 필요가 없습니다 : 당신이 FK 제약 조건을 추가하려면

난 그냥이 코드를 사용하여 한 테이블에서 다른

+3

일반적으로 두 개의 기본 키는 서로를 참조하지 않습니다. 왜 모든 열을 단일 테이블에 넣는 것이 아닌가? –

답변

3

두 일대일 관계를 필요 열 또는 테이블을 변경하십시오. 단지 제약 조건을 추가하십시오.

+0

두 개의 일대일 관계가 필요하므로 외래 키가 작동하지 않습니다. (기본 키 제약이 필요합니다. – noclue123

+2

@ noclue123 : ** ** 기본 키가 이미 정의되어 있습니다 ...... 한 테이블이 다른 테이블로 연결될 때 ** 외래 키 ** 제약 –