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`);
'Code > Database (DB)' 카테고리의 다른 글
[SQL] 같은 값을 가진 다른 칼럼의 값을 합치기 (0) | 2019.09.29 |
---|---|
[MySql] mysql 사용 메모리 줄이기 (0) | 2019.09.23 |
[MySql] 중복 방지 작업 (0) | 2019.09.09 |
mysql sql 명령 , 테이블변형 (alter table) (0) | 2019.08.14 |
리눅스에 mysql 5.7 설치 하기 (0) | 2019.04.12 |