[MySQL] 외래 키(Foreign Key) 삭제하기Database2024. 2. 24. 19:46
Table of Contents

상황

코드를 수정하다 보니 Diary 테이블에 사용하지 않는 외래키들이 많아서 삭제하려고 합니다. (보기 불편..ㅇㅁㅇ)
외래키 삭제
외래키를 삭제하기 위해서는 제약조건을 확인해야 합니다.
제약조건(constraint)은 데이터의 무결성을 지키기 위해, 데이터를 입력받을 때 실행되는 검사 규칙을 의미합니다.
select * from information_schema.TABLE_CONSTRAINTS;

위의 코드로 조회를 하였더니, diary 테이블에 제약 조건이 여러 개가 있습니다. 이 중에서 사용하지 않는 외래키인 recommended_activity_id와 stress_level_id를 찾아야 합니다.
show create table diary

위의 결과에서 제약 조건명을 확인합니다.
예를 들어 stress_level_id의 제약 조건명은 'FKrw1b03j5a9nvjy4ed7iwixc3t' 입니다.
alter table diary drop foreign key FKrw1b03j5a9nvjy4ed7iwixc3t;
alter table diary drop stress_level_id;

stress_level_id 외래키가 삭제된 것을 확인할 수 있습니다.
참고자료
[mySQL]컬럼 추가삭제, 외래키 지정/삭제, 제약조건확인
CREATE TABLE ids_info( GTIN_13 varchar(14), PRIMARY KEY(order_id), FOREIGN KEY (product_id) REFERENCES products ); 외래키를 처음부터 이렇게 잘 만들어놨다면 상관없지만, 중간에 외래키를 추가/변경해야 할 때가 있다. 난
happylulurara.tistory.com
'Database' 카테고리의 다른 글
| 클러스터 인덱스와 넌 클러스터 인덱스 알아보기 (4) | 2024.07.17 |
|---|---|
| [SQL] 기본키(PK)가 꼭 필요할까? (3) | 2024.07.12 |
@Kyko :: Kyko dev_story
느리더라도 단단하게 성장하고자 합니다!
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!