새소식

데이터베이스/mysql

[mysql] 기존 테이블에 외래키(FK) 추가하는 방법

  • -

r안녕하세요 호호만두에요

이번에는 테이블에 외래키를 추가하는 방법을 알아볼게요

이는 이미 create문으로 만들어진 테이블이 있을때 사용 하는 방법입니다!!

아주 간단해요!! alter add문만 있으면 새로 추가하는 것들에 대해서 많은 것을 할 수 있어요

 

우선 두 테이블이 있다고 가정해볼게요

CREATE TABLE table1(
	id varchar(10),
    email varchar(20),
    PRIMARY KEY(id)
);

우선 위의 create문을 통해 만들어진 table1이 있어요

table1의 기본키는 id 입니다

 

CREATE TABLE table2(
	id varchar(10),
    reservation_num varchar(15)
);

그리고 또 다른 테이블인 table2가 있어요

모두 두 개의 컬럼을 가지고 있네요

 

이때 table2의 id를 table1의 id를 참조하는 외래키로 추가하고 싶다면 아래와 같이 하시면 되요

//alter table 테이블이름 add FOREIGN KEY(columnName) REFERENCES 참조테이블(참조컬럼);
1. alter table table2 add FOREIGN KEY(id) REFERENCES table1(id);

2. alter table table2 add FOREIGN KEY(id) REFERENCES table1;

위 처럼 2가지 경우가 가능해요

참조하는 테이블의 pk가 하나밖에 없기때문에 참초컬럼은 생략가능 합니다

아!! 그리고 당연히 참조하는 컬럼은 그 테이블의 PK여야 겠죠??

 

이렇게 하면 아래 코드를 써서 만든 경우와 같게 되요

즉 외래키가 설정된거에요

CREATE TABLE table2(
	id varchar(10),
    reservation_num varchar(15),
    FOREIGN KEY (id) REFERENCES table1
);

 

간단하죠??

이렇게 테이블에 외래키를 추가하는 방법을 알아보았습니다!!

도움이 되셨다면 하트 한번씩 살짝 눌러주시면 감사하겠습니다

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.