티스토리 뷰
728x90
들어가기 전
기본키를 추가 할 일이 생겼다.
기존에 키가 등록이 되어 있는데, 수정하고 싶었던 것이다.
그럼 일단 지우고, 다시 등록을 해야 한다.
근데 지워지지 않았다.
ALTER TABLE TEST_TABLE DROP PRIMARY KEY; |
ORA-02441: Cannot drop nonexistent primary key
삭제 할 수 없단다.
다시 테이블 description 을 봤다. 분명 우리가 사용하는 pk 사용 네이밍룰로 된 key 값이 등록 되어 있었다.
'이상하다.' 싶어서 다시 지웠는데도 없단다. 다시 description 을 봤다. 머리가 아파왔다.
자세히 보니....
CREATE UNIQUE INDEX [PK명] ON [TABLE명]([KEY1],[KEY2],[...]) |
위와 같이 되어 있는 게 아닌가...
아, PK명만 보고 PK다 싶었는데, INDEX 로 등록이 되어 있던 것!!
그래서 INDEX를 지워주고, 해당 PK명으로 다시 PK를 등록해주었다.
사용방법
ALTER TABLE [TABLE명] DROP PRIMARY KEY; -- 기본키를 지워준다. ALTER TABLE [TABLE명] ADD CONSTRAINT [PK명] PRIMARY KEY ([KEY1],[KEY2],[...]); -- PK를 생성한다. |
참고
반응형
'개발자의 삶 > Database(PostgreSQL, Redis, Oracle, ...)' 카테고리의 다른 글
[MySQL] Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column To disable safe mode ... (0) | 2017.05.10 |
---|---|
[MS-SQL] 중국어 깨질 때 (0) | 2017.03.22 |
[ORACLE] [SQL] SELECT 해서 INSERT 하기 (0) | 2017.01.02 |
[Oracle] 버전 확인 (0) | 2016.12.09 |
[ORACLE] INDEX 목록 조회 (1) | 2016.09.20 |
[ORACLE] [SQL PLUS] sql script 실행 (0) | 2016.07.26 |
[ORACLE] 컬럼 코멘트 조회, 테이블 생성 시 편리한 쿼리, 코멘트 쿼리 (0) | 2016.07.26 |
[CUBRID] 함수 사용하기 (1) | 2016.06.03 |