DataBase
MySQL Foregin Key 설정
Beencle
2023. 3. 20. 15:02
CREATE TABLE 테이블이름(
...,
[CONSTRAINT 제약조건이름]
FOREIGN KEY (필드이름)
REFERENCES 테이블이름 (필드이름));
ALTER TABLE 테이블이름 ADD [CONSTRAINT 제약조건이름] FOREIGN KEY (필드이름)
REFERENCES 테이블이름 (필드이름)
ON DELETE, ON UPDATE
- 외래키로 참조되는 값이 변경이 되거나 삭제가 된다면 이를 참조하는 테이블의 값 역시 변화가 있어야하는데 이를 설정하는 방법
외래키 생성할 때 위에 추가 해주면 된다.
CASCADE | 참조되는 테이블에서 데이터를 삭제하거나 수정하면, 참조하는 테이블에서도 삭제와 수정이 같이 이루어집니다. | ||
SET NULL | 참조되는 테이블에서 데이터를 삭제하거나 수정하면, 참조하는 테이블의 데이터는 NULL로 변경됩니다. | ||
NO ACTION | 참조되는 테이블에서 데이터를 삭제하거나 수정해도, 참조하는 테이블의 데이터는 변경되지 않습니다. | ||
SET DEFAULT | 참조되는 테이블에서 데이터를 삭제하거나 수정하면, 참조하는 테이블의 데이터는 필드의 기본값으로 설정됩니다. | ||
RESTRICT | 참조하는 테이블에 데이터가 남아 있으면, 참조되는 테이블의 데이터를 삭제하거나 수정할 수 없습니다. |