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 : 참조키가 삭제되거나 업데이트 되어도 아무런 동작을 하지 않는다. 경우는 외래키의 의미가 없다고 볼수 있다