easycode

[DB] 생성된 테이블에서 제약조건 제거 및 FK 컬럼 삭제 본문

DB&SQL

[DB] 생성된 테이블에서 제약조건 제거 및 FK 컬럼 삭제

ez() 2024. 2. 18. 23:36

테이블을 잘못 생성했을 때, FK 컬럼을 alter table drop foreign key로 삭제하려 하면 삭제되지 않는다. 이럴 땐 아래와 같이 해결하면 된다. 기록용으로 남겨두는 거라 글의 완성도가 미흡할 수 있습니다. 누군가에게 도움이 되길 바랍니다.

 

 

Foreign Key 제약조건명(CONSTRAINT_NAME) 확인


먼저 Foreign Key 제약조건명(CONSTRAINT_NAME)을 확인해야 한다.

 

1. 테이블 기준 확인하는 명령어

select * from information_schema.table_constraints where table_name = '테이블명';	// ''안에 테이블명 작성하기

 

2. 데이터베이스 기준 확인하는 명렁어

select * from information_schema.table_constraints where constraint_schema = '데이터베이스명';	// ''안에 데이터베이스명을 입력해야 한다

 

 

위 명령어를 입력하면 아래와 같이 나타난다. 난 테이블 기준으로 조회했다.

 

 

 

 

 

 

제약조건(CONSTRAINT) 삭제


alter table [테이블명] drop constraint [constraint_name];

 

위 사진에 있었던 CONSTRAINT_NAME을 넣어 제약조건을 삭제해준다.

 

 

 

 

Foreign Key였던 컬럼 삭제


alter table [테이블명] drop foreign key [제약조건명];

 

이제 위 명령어로 컬럼을 삭제해주면 된다.

'DB&SQL' 카테고리의 다른 글

Stored Procedure (Oracle)  (1) 2024.01.28