>데이터 베이스 >MySQL 튜토리얼 >MySQL에서 상위 행이 삭제되면 관련 데이터는 어떻게 되나요?

MySQL에서 상위 행이 삭제되면 관련 데이터는 어떻게 되나요?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-04 17:15:021070검색

What Happens to Related Data When a Parent Row is Deleted in MySQL?

MySQL의 기본 ON DELETE 동작 설명

MySQL에서 ON DELETE 동작은 상위 테이블에서 레코드가 삭제될 때 하위 테이블의 관련 데이터에 어떤 일이 발생하는지 결정합니다. . 기본적으로 MySQL은 NO ACTION 동작을 사용합니다.

기본 동작: NO ACTION

NO ACTION과 RESTRICT는 모두 외래 키 제약 조건을 위반하는 변경을 방지합니다. ON DELETE 절을 생략하면 이러한 기본 동작이 적용됩니다. 참조 데이터의 삭제 또는 수정을 방지하여 참조 데이터의 무결성을 유지합니다.

기타 동작 옵션

SET NULL:
상위 데이터를 삭제합니다. 행을 삭제하고 하위 테이블의 외래 키를 NULL로 설정합니다(만일 허용).

CASCADE:
삭제된 상위 행을 참조하는 하위 행을 삭제합니다.

SET DEFAULT:
이 옵션 InnoDB에서는 지원되지 않습니다. 파서에서 인식되었지만 테이블 정의 시 거부되었습니다.

요약

다음 표에는 MySQL에서 사용할 수 있는 ON DELETE 동작이 요약되어 있습니다.

Behavior Description
NO ACTION Prevents deletion or update of parent rows
RESTRICT Same as NO ACTION
SET NULL Sets foreign key to NULL when parent row is deleted
CASCADE Deletes child rows when parent row is deleted

위 내용은 MySQL에서 상위 행이 삭제되면 관련 데이터는 어떻게 되나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.