Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL에서 외래 키 사용


MySQL에서 외래 키를 사용하는 방법을 이해합시다 -

InnoDB 테이블은 외래 키 제약 조건 검사를 지원합니다. 외래 키 제약 조건은 두 테이블을 조인하는 데만 필요한 것은 아닙니다. InnoDB와 별도로 스토리지 엔진에 사용해야 하는 컬럼을 정의하면서 사용할 수 있습니다. REFERENCES tableName(colName)은 실제 효과가 없으며 현재 정의되고 있는 열이 다른 테이블의 열을 참조하기 위한 것임을 사용자에게 설명하는 역할을 합니다.

MySQL은 'colName'이 실제로 'tableName'에 존재하는지 또는 'tableName' 자체가 실제로 존재하는지 확인하기 위해 어떤 검사도 하지 않습니다.

상위 테이블에서 외래 키는 기본 키로 작동합니다. 테이블을 만드는 예를 살펴보겠습니다.

자식 테이블 생성

mysql> create table StudentEnrollment
−> (
   −> StudentId int,
   −> StudentName varchar(200),
   −> StudentFKPK int
−> );
Query OK, 0 rows affected (0.91 sec)

상위 테이블 생성

mysql> create table College
−> (
   −> StudentFKPK int,
   −> CourseId int,
   −> CourseName varchar(200),
   −> CollegeName varchar(200),
   −> primary key(StudentFKPK)
−> );
Query OK, 0 rows affected (0.46 sec)

부모 테이블에서 'StudentFKPK' 열은 기본 키입니다. ALTER 명령을 사용하여 외래 키를 추가합니다.

다음은 외래 키를 추가하는 구문입니다.

구문

ALTER table yourChildTableName add constraint anyConstraintName
foreign key(primary key column name for parent table)
references College(primary key column name for parent table);