2012-02-10 5 views
4

다른 열을 추가 할 기본 키가있는 테이블이 있습니다. 문제는 내가 이것을 추가 할 때 SQL Server가 해당 테이블에 대한 모든 외래 키 참조를 삭제한다는 것입니다.외래 키 참조를 삭제하지 않고 기본 키에 추가

이 문제를 해결할 방법이 있습니까? (또는 리팩터링 도구 일 수도 있습니다)?

+1

기본 키 필드를 어떻게 든 변경 하시겠습니까? 그건 맞지 않아. – JohnFx

+0

@firebird가 복합 키를 만들려고하는 것 같습니다. 예 : 이미 pkey가 있지만 복합 키를 만들거나 다른 키를 복합 키에 추가하려면 다른 열을 pkey에 추가해야합니다. –

답변

5

"수정" - PK를 변경하기 때문에 FK를 삭제해야합니다.

PK에 필드를 추가하면 어떻게 될 것이라고 생각합니까? 모든 FK 참조가 필드를 추가하게됩니까? 그 여분의 필드가 당신의 다른 테이블에 없다면? 삭제 된 후 다시 작성하여 올바른 참조인지 확인해야합니다.

0

주위를 둘러 쌀 방법이 없습니다. 외래 키는 재정의되어야합니다. 예를 들어, PK에 열을 추가하는 경우 기존의 모든 FK를 재정의하여 PK를 구성하는 새로운 열 집합을 참조해야합니다. 즉, 하위 테이블에 열을 추가해야합니다.

이 프로세스를 자동화하는 도구가 있는지 확실하지 않습니다.

관련 문제