>데이터 베이스 >MySQL 튜토리얼 >MySQL에서 다중 열 기본 키를 참조하는 외래 키를 만드는 방법은 무엇입니까?

MySQL에서 다중 열 기본 키를 참조하는 외래 키를 만드는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-01 18:24:10803검색

How to Create a Foreign Key Referencing a Multi-Column Primary Key in MySQL?

MySQL에서 다중 열 기본 키 참조

테이블이 여러 열로 정의된 복합 기본 키를 보유하는 관계형 데이터베이스 시나리오에서 (예: product_id, attribute_id) 일반적인 질문이 발생합니다. 어떻게 다른 테이블이 이 다중 열 기본 테이블과 외래 키 관계를 설정할 수 있습니까? key?

해결책:

복합 외래 키 구문:

해결책에는 참조에서 복합 외래 키를 정의하는 것이 포함됩니다. 테이블. 이러한 외래 키의 구문은 다음과 같습니다.

CREATE TABLE MyReferencingTable (
    [COLUMN DEFINITIONS]
    refcol1 INT NOT NULL,
    refcol2 INT NOT NULL,
    CONSTRAINT fk_mrt_ot FOREIGN KEY (refcol1, refcol2)
                        REFERENCES OtherTable(col1, col2)
) ENGINE=InnoDB;
  • refcol1 및 refcol2: 외래 키 복합 키를 형성하는 참조 테이블의 열.
  • col1 및 col2: 기본 테이블을 구성하는 참조 테이블의 열 key.
  • fk_mrt_ot: 이 외래 키에 대한 제약 조건 이름(선택 사항이지만 권장됨).

주요 고려 사항:

  • 인덱싱: MySQL에는 외국어가 필요합니다. 키 열을 색인화하여 효율적인 조인 작업을 보장합니다.
  • CONSTRAINT 구문: 제약 조건 구문을 활용하면 외래 키에 대한 명명된 참조가 제공되므로 후속 변경이나 제거가 더 쉬워집니다.
  • 엔진: InnoDB는 외래 키 제약 조건을 적용하는 트랜잭션 엔진이지만 MyISAM(a 비트랜잭션 엔진)은 외래 키 사양을 무시합니다.

위 내용은 MySQL에서 다중 열 기본 키를 참조하는 외래 키를 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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