mysql 외래키 예제

By 2019. augusztus 2. Egyéb kategória No Comments

외래 키 제약 조건은 테이블의 데이터를 제거(ON DELETE) 또는 업데이트(ON UPDATE) 테이블 행 행 데이터 업데이트 시 일관되게 유지하는 데 사용됩니다. 외래 키 정의는 다음과 같은 조건의 적용을 받습니다. 외래 키 관계에는 중앙 데이터 값을 포함하는 상위 테이블과 상위를 가리키는 동일한 값이 있는 하위 테이블이 포함됩니다. 외래 KEY 절은 자식 테이블에 지정됩니다. 상위 테이블과 자식 테이블은 동일한 저장소 엔진을 사용해야 합니다. 임시 테이블이 아니어야 합니다. 외래 키는 새로 삽입된 레코드의 무결성을 확실히 보장할 수 있습니다. 그러나 REFERENCES 절에 명명 된 테이블에서 레코드가 삭제되면 어떻게됩니까? 이 값을 외래 키로 사용하는 하위 테이블의 모든 레코드는 어떻게 됩니까? MySQL에서 InnoDB 테이블은 외래 키 제약 조건 확인을 지원합니다. InnoDB 스토리지 엔진 및 외래 주요 차이점을 참조하십시오.

외래 키는 좋은 데이터베이스 관리에 필수적입니다. 이제 사용의 고급 예제를 살펴보는 데 관심이 있으시면 여기에서 외래 키 절 예제 섹션을 참조하십시오. 외래 키는 데이터의 일관성과 무결성을 자동으로 유지하는 데 도움이 되는 참조 무결성을 적용합니다. 예를 들어 존재하지 않는 고객에 대한 주문을 만들 수 없습니다. 외래 KEY 제약 조건은 테이블 간의 링크를 파괴하는 작업을 방지하는 데 사용됩니다. 아래에서는 외래 키를 설정하는 방법과 MySQL에서 작동하는 방법에 대한 몇 가지 간단한 예제를 보여 드리겠습니다. 이 예제에서는 아래의 상위 및 자식 테이블을 참조합니다. “고객” 및 “연락처”라는 레이블이 지정된 테이블은 각각 상위 테이블과 하위 테이블을 나타냅니다.

마지막 두 줄은 아마도 가장 흥미로운 것입니다. 직원 ID가 업데이트되거나 직원이 삭제되면 변경 내용을 대여된 테이블에 적용해야 한다고 명시되어 있습니다. . MySQL에서 InnoDB 저장소 엔진은 외래 키를 지원하므로 외래 키 제약 조건을 사용하려면 InnoDB 테이블을 만들어야 합니다. 외래 키는 두 테이블을 함께 연결하는 데 사용되는 키입니다. INNODB_SYS_FOREIGN 및 INNODB_SYS_FOREIGN_COLS 테이블에서 InnoDB 테이블에서 사용하는 외래 키에 대한 정보/SCHEMA 데이터베이스에서도 찾을 수 있습니다. 기존 외래 키는 변경할 수 없습니다. 먼저 기호 이름으로 기존 외래 키를 제거해야 하며 이전과 마찬가지로 새 외래 키를 정의할 수 있습니다. 상호 연결된 관계가 있는 수십 개의 테이블을 포함하는 대규모 데이터베이스에도 동일한 개념을 적용할 수 있습니다. 이제 일레인의 customer_id를 업데이트하여 ON UPDATE CASCADE를 테스트해 보겠습니다: 노드 테이블의 레코드가 삭제되면 해당 모든 logfile_records 레코드도 삭제해야 합니다.