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 [제약조건명];
이제 위 명령어로 컬럼을 삭제해주면 된다.