MySQL 기본키와 유일키, 외래키 (primary key, unique key and foreign key)

 

기본키 (primary key)

* 테이블 당 한 개만 존재가능

* 보통 NULL일 수 없다. (NOT NULL)

* 테이블 내 행(row, record)의 유일한 식별자(id)

 

유일키 (unique key, unique index)

* 테이블 당 여러 개 설정 가능

* NULL 가능

* 후보키로 사용될 수 있다 (candidate key)

 

외래키 (foreign key)

* 다른 테이블의 컬럼을 참조하는 키

* 참조되는 컬럼과 외래키의 자료형은 일치해야 한다

* 참조되는 컬럼은 기본키나 유일키만 가능

* ON DELETE CASCADE : 참조되는 컬럼의 행이 삭제되면 외래키를 가진 행도 같이 삭제된다.

 

예:

create table sample (
  ID int unsigned auto_increment,
  REG_NO int unsigned,
  PRIMARY KEY (ID)
  UNIQUE KEY (REG_NO)
);

 

외래키 예:

create table child (
  ID int unsigned auto_increment,
  REG_NO int unsigned,
  CONSTRAINT child_reg_no FOREIGN KEY (REG_NO) REFERENCES sample (REG_NO) ON DELETE CASCADE
);

 

 







TitleNickname
172014년 페이스북 연봉TT2590
16리눅스 압축 및 압축풀기 (tar, gz, bz2)TT4080
15MySQL 기본키와 유일키, 외래키 (primary key, unique key and foreign key)TT7730
14Anysign4pc안녕7370
13리눅스 CPU정보 확인TT5220
12How to set up MySQL max connectionsTT5110
11How to check HTTPS active connections on linuxTT4840
10AWS 비용계산기TT5900
9[MySQL] reducing memory usage on cloud serverTT5480
8crontab usageTT5140
7SQL NULL검색TT5290
6안드로이드 스튜디오 vs 이클립스TT5110
530년 경력 개발자의 조언.jpgTT5110