>  기사  >  데이터 베이스  >  MySQL의 DELETE 동작 기본값은 무엇입니까?

MySQL의 DELETE 동작 기본값은 무엇입니까?

DDD
DDD원래의
2024-11-04 12:00:05514검색

What is MySQL's Default ON DELETE Behavior?

MySQL의 기본 ON DELETE 동작

데이터베이스 작업 시 외래 키 제약 조건의 동작을 이해하는 것은 데이터 무결성을 유지하는 데 중요합니다. MySQL은 상위 테이블의 행이 삭제될 때 수행할 작업을 지정하기 위한 다양한 옵션을 제공하며, 그 중 하나가 기본 동작입니다.

기본 동작

MySQL 기본 ON DELETE 동작은 참조 무결성을 강화하여 하위 테이블과의 관계를 깨뜨릴 수 있는 상위 테이블의 변경을 방지하는 것입니다. 이는 NO ACTION 또는 RESTRICT 옵션을 통해 달성됩니다. 이 두 옵션 모두 하위 테이블에 종속 행이 있는 경우 기본적으로 삭제를 금지합니다.

기타 옵션

MySQL은 ON DELETE 이벤트를 처리하기 위한 추가 옵션을 제공합니다.

  • SET NULL: NOT NULL로 선언되지 않은 경우 상위 행을 삭제하고 하위 테이블의 외래 키를 NULL로 설정합니다.
  • CASCADE: 삭제 상위 행을 삭제하고 하위 테이블의 종속 행을 자동으로 삭제합니다.
  • SET DEFAULT: 이 옵션은 InnoDB에서 거부되므로 사용할 수 없습니다.

따라서 질문에 답하려면:

  • 예, 전제가 맞습니다. MySQL의 기본 ON DELETE 동작은 NO ACTION(또는 RESTRICT)으로, 외래 키 제약 조건을 위반하는 데이터베이스 변경을 방지합니다.
  • NO ACTION과 RESTRICT는 동의어이며 ON DELETE 절이 지정되지 않은 경우 적용됩니다.
  • SET NULL은 상위 행 삭제를 허용하고 외래 키를 NULL로 설정합니다.
  • CASCADE는 상위 및 종속 행을 삭제합니다.
  • SET DEFAULT는 InnoDB에서 거부되므로 사용하면 안 됩니다.

위 내용은 MySQL의 DELETE 동작 기본값은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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