- 한 테이블을 다른 테이블과 연결해주는 역할이며, 참조되는 테이블의 항목은 그 테이블의 기본키(혹은 단일값)가 된다.
01. create table에서 foreign key를 지정하는 경우
mysql> create table orders
-> (
-> oid int not null,
-> order_no varchar(16),
-> pid int,
-> primary key (oid),
-> constraint FK_person foreign key (pid) references person(pid)
-> );
pid를 foreign key로 설정할 것인데, FK_person으로 이름을 지정하고, person table의 pid를 참고할 것이다.
02. create table에서 foreign key를 지정하는 경우, constraint를 생략할 수 있다.
mysql> create table job
-> (
-> jid int not null,
-> name varchar(16),
-> pid int,
-> primary key (jid),
-> foreign key (pid) references person(pid)
-> );
03. 자동 생성된 constraint를 확인하는 방법
코드 내에서는 constraint를 생략하였지만 show create table job; 확인해보면 생성되어있는 것을 볼 수 있다.
04. foreign key 삭제 예제
table이 생성된 이후에도 alter table을 통해 foreign key를 생성 할 수 있다.
mysql> alter table orders
-> drop foreign key FK_person;
desc orders; 테이블에서는 디테일한 부분을 보기 어려울 때 show create table job; 하면 된다.
05. 기존에 있던 것에 foreign key를 지정하는 경우
mysql> alter table orders
-> add foreign key(pid) references person(pid);
'mySql' 카테고리의 다른 글
[mysql] primary key / foreign key 실습 (0) | 2022.12.10 |
---|---|
[mysql] foreign key 예제 (0) | 2022.12.10 |
[mysql] Primary Key (0) | 2022.12.09 |
[mysql] python_ fetch all() / buffered / dataframe (0) | 2022.12.09 |
[mysql] python (0) | 2022.12.08 |