다음과 같이 정의된 상태에서 회원 테이블의 한 회원을 삭제하면, 그 회… | [SQLD] SQL 개발자 기출유형 모의고사 3회 상세 페이지

1[SQLD] SQL 개발자 기출유형 모의고사 3회
다음과 같이 정의된 상태에서 회원 테이블의 한 회원을 삭제하면, 그 회원이 쓴 게시글은 어떻게 되는가?
CREATE TABLE 게시글 (
  글번호     INT PRIMARY KEY,
  작성자번호 INT,
  CONSTRAINT FK_작성자 FOREIGN KEY (작성자번호)
    REFERENCES 회원 (회원번호)
    ON DELETE SET NULL
);
1
작성자번호가 기본값으로 바뀐다
2
해당 게시글도 함께 삭제된다
3
작성자번호가 NULL 로 바뀐다
4
자식 행 때문에 삭제가 거부된다
해설

외래키에 ON DELETE SET NULL 을 지정했으므로 부모 회원이 삭제되면 해당 게시글의 작성자번호가 NULL 로 바뀌고 게시글 행은 남는다.

작성자번호 열에 NOT NULL 제약이 없어야 이 동작이 가능하며, 옵션을 생략하면 참조되는 부모 행 삭제가 거부된다.

  • 게시글까지 지우는 것은 ON DELETE CASCADE 의 동작이다.
  • 삭제 거부는 옵션을 생략하거나 RESTRICT 계열을 지정한 경우이다.
  • 기본값으로 바꾸는 것은 SET DEFAULT 이며 이 정의와 다르다.

오류나 개정된 내용이 보이면 알려주세요

이어서 풀어보기

[SQLD] SQL 개발자 기출유형 모의고사 3회 50문항 이어서 보기문제·정답·해설을 한 페이지에서 이어서 볼 수 있어요SQLD SQL 개발자 실전 모의고사 암기장 전체 보기