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
16리눅스 압축 및 압축풀기 (tar, gz, bz2)TT430
15MySQL 기본키와 유일키, 외래키 (primary key, unique key and foreign key)TT750
14Anysign4pc안녕760
13리눅스 CPU정보 확인TT830
12How to set up MySQL max connectionsTT1010
11How to check HTTPS active connections on linuxTT850
10AWS 비용계산기TT1010
9[MySQL] reducing memory usage on cloud serverTT1180
8crontab usageTT1260
7SQL NULL검색TT1140
6안드로이드 스튜디오 vs 이클립스TT1220
530년 경력 개발자의 조언.jpgTT1260


One Line Message