본문 바로가기
MySql

MySQL mysql에서 삭제 캐스케이드를 어떻게 사용합니까?

by 베이스 공부 2020. 10. 17.
반응형

구성 요소 데이터베이스가 있습니다. 각 구성 요소는 특정 유형입니다. 즉, 구성 요소와 유형간에 다 대일 관계가 있습니다. 유형을 삭제할 때 해당 유형의 외래 키가있는 모든 구성 요소를 삭제하고 싶습니다. 하지만 실수가 아니라면 cascade delete는 구성 요소가 삭제 될 때 유형을 삭제합니다. 내가 설명한 것을 할 수있는 방법이 있습니까?

 

해결 방법

 

다음은 구성 요소 테이블에 포함 할 내용입니다.

CREATE TABLE `components` (
    `id` int(10) unsigned NOT NULL auto_increment,
    `typeId` int(10) unsigned NOT NULL,
    `moreInfo` VARCHAR(32), 
    -- etc
    PRIMARY KEY (`id`),
    KEY `type` (`typeId`)
    CONSTRAINT `myForeignKey` FOREIGN KEY (`typeId`)
      REFERENCES `types` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
)

InnoDB 스토리지 엔진을 사용해야한다는 점만 기억하십시오. 기본 MyISAM 스토리지 엔진은 외래 키를 지원하지 않습니다.

 

참조 페이지 https://stackoverflow.com/questions/511361

 

 

반응형

댓글