ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [MySQL] FOREIGN KEY
    db/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

    댓글

Designed by Tistory.