제약조건 중 pk 추가하려는데요 오류좀요~ 0 2 6,148

by DevPain [2013.02.01 16:32:43]



현재 테이블에 pk 컬럼이 년도랑 사번 두가지  있는데

여기에 컬럼 하나 추가하고 pk 지정하려고

ALTER TABLE  AAA
ADD CONSTRAINT aaa_pk  PRIMARY KEY (seq) ;

하고 실행했는데 아래와 같은 오류가 떳네요 ㅠ

ORA-02260: table can have only one primary key

이럴 경우 어떻게 하나요?
by 아발란체 [2013.02.01 16:58:58]

이미 테이블에 기본키가 있어서 그럽니다.
테이블에 기본키는 1개 밖에 만들 수 없습니다.

제약키(Unique, Reference 등)나 인덱스는 복수로 만들 수 있으나
기본키만 1개 이상 만들 수 없습니다.


by 아발란체 [2013.02.01 17:03:25]
방법1.
"년도 사번"이란 항목 2개로 기본키가 잡혀있는 것을 삭제
"년도 사번 순번"으로 기본키로 잡기

방법2.
순번(seq)를 기본키가 아닌 유니크키로 생성
>> ALTER TABLE AAA ADD CONSTRAINT uk_aaa UNIQUE KEY (seq) ;
>> 이 경우 테이블에 데이타가 있으면 오류 납니다.

방법3
기존 기본키 삭제 후
SEQ를 기본키로 잡고
"년도 사번"를 인덱스로 잡기
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입