[MySql] 기본키값 전체를 증가 시키기 (ALTER TABLE 사용설명)
mysql 기본키값을 전체를 증가 시키기
(ALTER TABLE 사용설명)
바로 증가 시킬수는 없고 증가된 칼럼을 만든후 기본키로 지정
- 주의 ! 다른 많은 테이블에 연동되어 있다면 포기하는 것을 추천
-- id_new 칼럼 생성
ALTER TABLE `users` ADD `id_new` int(11) unsigned DEFAULT NULL AFTER `id`;
-- 기본키 칼럼(id) 을 id_new칼럼에 증가된 값으로 복사
update users set id_new = id + 1000;
-- 기존 키를 기본키에서 해제
ALTER TABLE users MODIFY COLUMN id INT;
ALTER TABLE users DROP PRIMARY KEY;
-- 새로운 키를 기본키로 설정
ALTER TABLE users ADD PRIMARY KEY (id_new);
ALTER TABLE users CHANGE COLUMN id_new id_new INT(11) UNSIGNED NOT NULL AUTO_INCREMENT;
-- 기존 키 삭제
ALTER TABLE users DROP id;
-- 새로운 키 이름 변경
ALTER TABLE users CHANGE COLUMN id_new id INT(11) UNSIGNED NOT NULL AUTO_INCREMENT;
//=================
//참고
-- 참고, 칼럼 위치 순서 변경
-- ALTER TABLE users MODIFY id_new AFTER id;
-- 참고: 테이블 정보 보기
SHOW CREATE TABLE users;
- DESCRIBE users; 도 테이블 정보를 볼수 있지만 외래키등의 정보는 표시 안함
-- 외래키 삭제, 추가
ALTER TABLE tbl2 DROP FOREIGN KEY fk_1;
ALTER TABLE tbl2 ADD CONSTRAINT fk_1 FOREIGN KEY (`tbl2_id`) REFERENCES `users` (`id`);