DB/MySQL|MariaDB
Mysql 외래키 간단히 정리
Sh.TK
2017. 7. 5. 17:56
Mysql 외래키
출처: http://cloudless.tistory.com/49
CONSTRAINT `fk_id` <== 제약조건을 건다는 말이며 그 이름을 fk_id 라고 지정했다
FOREIGN KEY (`id`) <== 현재테이블의 필드명이 id 인것이 외래키라는것을 의미한다.
REFERENCES `member_info` (`id`) <== member_info 테이블의 id 필드를 참조한다는 것을 의미한다.
ON DELETE CASCADE <== 참조키가 삭제되면 외래키도 삭제한다
ON UPDATE CASCADE <== 참조키가 업데이트 되면 외래키도 업데이트를 한다.
CASCADE : 참조키와 동일하게 맞춘다. 즉 참조키값이 삭제되면 해당 테이블의 동일한 레코드도 삭제되며 참조키값이 업데이트(예 aa => bb 로 바뀐다면)되면 외래키값도 업데이트(aa => bb 로 바뀐다)가 된다.
RESTRICT : 참조키가 삭제되거나 업데이트 되는걸 막는다.
SET NULL : 참조키가 삭제되거나 업데이트 되면 외래키값을 null 로만든다.
NO ACTION : 참조키가 삭제되거나 업데이트 되어도 아무런 동작을 하지 않는다. 이 경우는 외래키의 의미가 없다고 볼수 있다.