wrkbrs

외래키 설정 시 ON DELETE SET NULL 과 ON DELETE CASCADE 사용하기 본문

MySQL

외래키 설정 시 ON DELETE SET NULL 과 ON DELETE CASCADE 사용하기

zcarc 2020. 3. 4. 13:37

* ON DELETE SET NULL
* ON UPDATE SET NULL
옵션 SET NULL -> 부모테이블에서 primary 값이 수정 또는 삭제될 경우
하위테이블의 reference값은 존재할 수 없습니다. 옵션이 없을 경우는 에러가 발생하고 옵션 SET NULL 로 정의되면 하위테이블의 reference값이  NULL 값으로 변경되면서 참조무결성을 유지합니다.

* ON UPDATE CASCADE
옵션 CASCADE -> 부모테이블에서 primary 값이 수정될 경우
옵션 CASCADE 로 정의되면 하위테이블의 reference값은 변경된 상위테이블의 수정된 값을 가지면서 참조무결성을 유지합니다.

* ON DELETE CASCADE
옵션 CASCADE -> 부모테이블에서 primary 값이 삭제될 경우
옵션 CASCADE 로 정의되면 하위테이블의 reference값은 삭제되면서 참조무결성을 유지합니다.

ALTER TABLE 자식테이블명
       ADD FOREIGN KEY (기준컬럼명)
                             REFERENCES 부모테이블명 (기준컬럼명)
                             ON DELETE CASCADE;



출처 : http://vetoven.tistory.com/trackback/33