기본
- 테이블 만들기
CREATE TABLE hi(
rok INT PRIMARY KEY,
misu INT NOT NULL
);
- 다른 테이블 만들 때 외래키로 할 컬럼(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. 변경

- show create table 테이블명 을 해서 제약조건을 확인해줘야 한다.

@ bye_ibfk_1 이 제약명이다 @
- alter table 테이블명 drop foreigb key 제약조건명 으로 조건을 삭제한다

- alter table 테이블명 change 기존 외래키컬럼명 바꿀외래키컬럼영 타입 으로 컬럼명

- alter table 테이블명 add constraint 바꿀제약조건명 foreign key (컬럼이름) references 가지고올 외래키의 테이블명(가지고올 외래키컬럼명) 으로 제약조건 추가

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

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