MySQL에서 복합 프라이머리키(Composite Primary Key)만들기
※ 경고 높이뜬새의 모르는 사람이 없는 팁시리즈 입니다. 이 팁시리즈는 지면낭비라는 항의시에 즉각 중단됩니다. |
이번 팁역시 모르는 사람이 없는 팁입니다. Primary key의 기본조건인 중복되지 않는 키값이 아무리 머리를 굴려도 불가능 할 경우 컬럼하나를 더 포함해서 Composite Primary Key를 만들어야 할때가 있습니다. MySQL에서는 다음과 같이 합니다.
BirdTable.sql
create table BirdTable ( -----No int not null, /* 새번호 */ -----Birdtype char(1) not null, /*새타입*/ -----Birdname char(20) not null, /* 새이름*/ -----Birdkind char(20) not null, /* 새속성*/ -----.................... -----................... -----constraint pk_composite primary key(No,BirdType) );
| | 위에서 pk_composite는 constraint(제약조건)의 이름이고 생략시에는 데이타베이스가 자동으로 할당해 줍니다. 즉 생략해도 가능합니다.
그럼 만약에 테이블생성시에 primary key 만드는것을 잊어버렸다 그럴때는 어떻게 처리할까요? 우리에게는 테이블 변경을 위한 무적의 명령어 alter table 이 있습니다.
※ alter table을 이용한 composite primary key 생성하기
mysql>alter table BirdTable add ( constraint pk_composite primary key( No, Birdtype )); | 테이블에 primary key를 변경해야 겠다 그러면 alter table을 이용해서 primary key를 drop 해버리고 다시 만들면 됩니다.
※ alter table을 이용한 primary key 삭제하기
mysql>alter table BirdTable drop primary key; |
From : 높이뜬새(www.webmadang.net) | |
|
|