-
[MySQL] FOREIGN KEYdb/MySQL 2022. 6. 21. 11:11
FOREIGN KEY 제약 조건을 설정할 때 참조되는 테이블의 필드는 반드시 UNIQUE나 PRIMARY KEY 제약 조건이 설정되어 있어야 한다!!!
----------------------외래키 onupdate, ondelete---------------------
외래키 생성시 onupdate, ondelete 설정하지 않을시 기본으로 둘다 RESTRICT 로 설정됨
1. CASCADE
onupdate
부모 테이블의 값 업데이트시 -> 참조 테이블의 값이 업데이트된 값에 맞게 자동으로 변경됨
ondelete
부모 테이블의 값 삭제될시 -> 해당 참조 로우가 삭제됨
2. SET NULL
onupdate
부모 테이블 값 업데이트시 -> 참조 테이블의 값이 null로 변경됨
ondelete
부모 테이블 값 삭제될시 -> 해당 참조 로우가 null로 변경됨
외래키 제약이 set null로 설정되어있다면 컬럼은 not null로 변경할 수 없다.
<-> not null컬럼이였다면 외래키 제약 set null이 설정될 수 없다
3. RESTRICT
onupdate
참조 테이블에서 값을 참조하고 있는 경우 부모 테이블의 값 업데이트 불가
ondelete
참조 테이블에서 값을 참조하고 있는 경우 부모 테이블의 로우를 삭제 불가'db > MySQL' 카테고리의 다른 글
[MySQL] EXISTS, NOTEXISTS (0) 2022.08.08 [MySQL] INSERT (0) 2022.08.08 [MySQL] Stored Procedure (0) 2022.08.04 [MySQL] Trigger (0) 2022.08.03