MYSQL 외래키(Foreign key) 지정 시
on delete rule(삭제 시), on update rule(변경 시) 옵션 지정
RESTRICT, CASCADE, NO ACTION, SET NULL
1. RESTRICT : 개체를 변경/삭제할 때 다른 개체가 변경/삭제할 개체를 참조하고 있을 경우 변경/삭제가 취소됩니다.(제한)
2. CASCADE : 개체를 변경/삭제할 때 다른 개체가 변경/삭제할 개체를 참조하고 있을 경우 함께 변경/삭제됩니다.
3. NO ACTION : 개체를 변경/삭제할 때 다른 개체가 변경/삭제할 개체를 참조하고 있을 경우 변경/삭제할 개체만 변경/삭제되고 참조하고 있는 개체는 변동이 없습니다.
4. SET NULL : 개체를 변경/삭제할 때 다른 개체가 변경/삭제할 개체를 참조하고 있을 경우 참조하고 있는 값은 NULL로 세팅됩니다.
'Database > MYSQL' 카테고리의 다른 글
| mysql 에서 max +1 사용 시 Invalid use of group function 에러 발생 (1) | 2013.05.29 |
|---|---|
| MYSQL LOCK 해제(KILL) 방법 (5) | 2013.03.06 |
| MYSQL 외래키(Foreign key) 지정(RESTRICT, CASCADE, NO ACTION, SET NULL) (1) | 2013.02.27 |
| [MYSQL] 조인, JOIN (INNER JOIN, OUTER JOIN) (10) | 2013.01.22 |
| MYSQL 자주쓰는 함수 (0) | 2013.01.11 |
| MYSQL auto_increment 초기화 (0) | 2012.09.10 |
| MySQL 설치 과정 소개 그리고 설정방법 (2) | 2012.08.14 |

댓글을 달아 주세요
MySQL 에서 NO ACTION 은 RESTRICT 와 동일합니다. 참조되는 Parent 를 지우지 못하게 합니다. ANSI 에서 차이는 지우고 정합성을 맞춰보는가 혹은 정합성부터 확인을 하는것인가가 다르지만, MySQL은 deferred 를 지원하지 않음으로 정합성부터 체크합니다. 그래서 동일하게 됩니다.