외래키 설정 방법

윤주헌's avatar
Aug 13, 2024
외래키 설정 방법

기본

  1. 테이블 만들기
    1. CREATE TABLE hi( rok INT PRIMARY KEY, misu INT NOT NULL );
  1. 다른 테이블 만들 때 외래키로 할 컬럼(rok int 라 하면 rok을 말함)명을 사용하는데
2.1 외래키 이름을 할 컬럼을 만들고
2.2 foreign key(지정할 외래키 명(임의 설정 가능)) references 컬럼을 가지고올 테이블 이름(컬럼명)
CREATE TABLE bye( hun INT PRIMARY KEY, rok INT NOT NULL, FOREIGN KEY(rok) REFERENCES hi(rok) );
@외래키는 기본키로만 설정이 가능하다 @

만약 데이터가 있는 상태에서 외래키를 추가, 변경, 삭제하고 싶다면 어떻게 해야 할까?

 

1. 변경

notion image
  1. show create table 테이블명 을 해서 제약조건을 확인해줘야 한다.
notion image
@ bye_ibfk_1 이 제약명이다 @
 
  1. alter table 테이블명 drop foreigb key 제약조건명 으로 조건을 삭제한다
notion image
  1. alter table 테이블명 change 기존 외래키컬럼명 바꿀외래키컬럼영 타입 으로 컬럼명
notion image
  1. alter table 테이블명 add constraint 바꿀제약조건명 foreign key (컬럼이름) references 가지고올 외래키의 테이블명(가지고올 외래키컬럼명) 으로 제약조건 추가
notion image

2. 삭제

  1. show create table 테이블명 으로 제약조건을 확인한다.
  1. alter table 테이블명 drop foreign key 제약조건 으로 제약조건을 제거한 뒤
  1. alter table 테이블명, drop 지울 컬럼명 으로 삭제한다
notion image

3. 추가

  1. alter tabel 테이블명 add column 컬럼명 타입 으로 컬럼을 만든다(데이터 타입은 외래키로 지정할 기본키와 같아야 한다)
  1. alter table 외래키를 추가할 테이블명 add foreign key (외래키를 추가할 컬럼명) references 외래키를 가지고올 테이블명(가지고올 외래키명) 으로 외래키 제약조건 추가
Share article

code-sudal