2016년 12월 28일 수요일

[mysql] multiple PRIMARY KEY 추가 하기( 기존 pk auto_increment 일때)

1.ALTER TABLE `테이블` MODIFY COLUMN `autoincrement pk컬럼명` INT NOT NULL;
2.ALTER TABLE `테이블` DROP PRIMARY KEY;
3.ALTER TABLE `테이블` ADD PRIMARY KEY (pk할컬럼1, pk할컬럼2, pk할컬럼3 , ...);
4.ALTER TABLE `테이블` MODIFY `autoincrement pk컬럼명` INT NOT NULL AUTO_INCREMENT;

기존에 자동증가 값으로 설정된 pk (mysql의 경우 오토인크리먼트 칼럼은 자동으로 pk 지정되는거로 알고 있음) 가 존재 할경우 ADD PRIMARY KEY 를통해서 멀티플 PK 지정이 불가능 하다.
따라서

1. autoincrement pk컬럼명 을 일반 INT NOT NULL 컬럼으로 MODIFY 를 먼저하고
2. 해당 테이블에 PK 를 드랍시킨후
3. 멀티플 PK를 새로 지정한후
4. 원레 오토 인크리먼트로 지정됐던 컬럼을 다시 오토 인크리먼트로 설정.

결과 증가값은 그대로 유지 하면서 멀티플 PK 가 추가되었다.


%%%주의%%%


기존 데이터가 존재 할경우
멀티플 칼럼에 대한 중복된 데이터를 삭제해야만 3번 쿼리가 실행될수 있다.



댓글 없음:

댓글 쓰기

[lunux]리눅스 폴더별 용량 확인

리눅스 폴더별 용량 확인 조회 하고자 하는 디렉토리 리스트가있는 경로로 이동후 du -h --max-depth=1