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

MySQL에서 외래 키의 기본 사항을 이해하고 계십니까?

<시간/>

외래 키를 사용하여 테이블 간의 관계를 생성할 수 있습니다. 외래 키 관계는 일대일 또는 일대다일 수 있습니다. 외래 키는 다른 테이블의 다른 필드와 일치합니다.

  • 일대일 관계 − 한 테이블의 한 레코드가 다른 테이블의 한 레코드에 연결됩니다.

  • 일대다 관계 − 하나의 레코드가 다른 테이블의 여러 레코드에 연결됩니다.

다음은 예입니다. 먼저 테이블을 생성하겠습니다. CREATE 명령은 테이블을 생성하는 데 사용됩니다.

mysql> create table tblF
    - > (
    - > id int ,
    - > FirstName varchar(100),
    - > FK_PK int
    - > );
Query OK, 0 rows affected (0.57 sec)

두 번째 테이블을 생성하려면

mysql> create table tblP
    - > (
    - > FK_PK int,
    - > LastName varchar(100),
    - > primary key(FK_PK)
    - > );
Query OK, 0 rows affected (0.94 sec)

다음은 외래 키를 생성하는 구문입니다.

mysql> ALTER table tblF add constraint ConstFK foreign key(FK_PK) references tblP(FK_PK);
Query OK, 0 rows affected (2.17 sec)
Records: 0  Duplicates: 0  Warnings: 0

DESC 명령어로 외래 키가 생성되었는지 확인합니다.

mysql> DESC tblF;

다음은 출력입니다.

+-----------+--------------+------+-----+---------+-------+
| Field     | Type         | Null | Key | Default | Extra |
+-----------+--------------+------+-----+---------+-------+
| id        | int(11)      | YES  |     | NULL    |       |
| FirstName | varchar(100) | YES  |     | NULL    |       |
| FK_PK     | int(11)      | YES  | MUL | NULL    |       |
+-----------+--------------+------+-----+---------+-------+
3 rows in set (0.05 sec)