(1) 외래키 적용방법 |
문법은 다음과 같다.
[CONSTRAINT symbol] FOREIGN KEY (index_col_name, ...)
REFERENCES table_name (index_col_name, ...)
[ON DELETE {CASCADE | SET NULL NO ACTION | RESTRICT}]
[ON UPDATE {CASCADE | SET NULL NO ACTION | RESTRICT}]
사용 예제이다.
ALTER TABLE board_free -- 설정할 테이블
ADD FOREIGN KEY (mem_no) -- 테이블에 FK 컬럼
REFERENCES members(mem_no)-- FK 연결이 되는 테이블과 PK 컬럼
ON DELETE RESTRICT -- 기본설정으로 자식에서 부모를 삭제 불가
ON UPDATE RESTRICT; -- 기본설정으로 자식에서 부모를 업데이트 불가
다음은 마지막 옵션값에 대한 설명이다.
ON DELETE RESTRICT : 기본설정으로 자식 row 에서 해당 부모 row 를 삭제하지 못한다.
ON DELETE CASCADE : 부모 테이블의 row가 삭제되면, InnoDB는 부모 row를
참조키와 동일한 외래 키를 갖는 자식 테이블의 모든 해당 row도 자동적으로 삭제한다.
ON DELETE SET NULL : 자식 row도 자동적으로 update되어 외래 키에 해당하는 row
는 NULL이 된다.
(2) Toad for MySQL 에서 외래키(FK )가 제대로 설정되었는지 확인하기 |
위에서 설정한 외래키가 제대로 적용이 되었는지 확인해 봐야 할것이다.
그러기 위해서는 Toad 에서 제공해주는 ER Diagram 브라우저로 확인하면 된다.
Tools > ER Diagrammer 실행한다.
관계도를 보기 위해서 오른쪽에 있는 Object Explorer 에서 테이블을 끌어 넣는다.
그러면 알아서 관계를 맺어 보여준다. 하나씩 옮기기 보다 한꺼번에 보고싶은 것들
다 선택해 끌어 넣어도 된다. 그리고 Object Explorer 이 보이지 않는다면
View > Object Explorer 를 선택해 창을 추가하면 된다.
아래 그림을 통해 제대로 관계도가 설정되어 있는지 확인할수 있을것이다.