MySql 에서 외래키(FK) 설정하는 방법과 Toad 에서 확인하기 |
개발환경 : Toad for MySQL 5.0.0.157, MySQL 5.1.4, Window XP |
(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 를 선택해 창을 추가하면 된다.
아래 그림을 통해 제대로 관계도가 설정되어 있는지 확인할수 있을것이다.
'기타 언어 > 데이터베이스(SQL)' 카테고리의 다른 글
MySql 윈도우에서 DB dump 백업과 복구하기 (2) | 2010.11.16 |
---|---|
MySQL DB 정보 이관 (3) | 2010.10.06 |
Oracle 에서 NVL, NVL2 함수 사용하는 예제 (0) | 2010.08.25 |
ERWIN 에서 설계한 테이블의 SQL 구문을 미리 출력해보기 (0) | 2010.08.07 |
리소스 연결문자열 총정리 사이트 (0) | 2009.11.05 |
rownum 으로 범위지정을 해주고 싶을 때 (0) | 2009.02.17 |
Oracle 시퀀스 생성, 추가, 삭제 (0) | 2009.01.31 |
TOAD 에서 Edit 를 통해 sql문을 작성할때 참고해야할 View (0) | 2009.01.19 |