리눅스/MySQL

[MySQL] SQL Error [1068] [42000]: (conn=231646) Multiple primary key defined

IT공부블로그 2022. 7. 19. 16:30
728x90
반응형

참조: https://prinha.tistory.com/entry/MySQL-Error-1068-Multiple-primary-key-defined

 

[MySQL Error] 1068. Multiple primary key defined

테이블에 PRIMARY KEY 컬럼을 추가할 때, 기존 PRIMARY KEY들이 잡혀있기 때문에 멀티플 오류가 났다. 해결방법은 ! 1) 추가할 컬럼을 추가하기 ALTER TABLE 테이블명 ADD 컬럼명 varchar(20) not null default '..

prinha.tistory.com

https://karzin.tistory.com/232

 

[MariaDB, MySQL] 에러해결 : Multiple primary key defined

[MariaDB, MySQL] 에러해결 : Multiple primary key defined 2개의 컬럼을 기본키로 설정하려 드니 에러가 나오더군요. ERROR 1068 (42000): Multiple primary key defined 원인 저의 경우 filed1은 이미 primary..

karzin.tistory.com

 

primary key를 추가하려는 테이블에 이미 primary key가 존재 할 경우

SQL Error [1068] [42000]: (conn=231646) Multiple primary key defined

위 에러가 발생한다.

 

기존 primary key를 지우지않고 추가하는 방법을 찾아보았지만 찾지못하여

 

ALTER TABLE `test` DROP PRIMARY KEY;
ALTER TABLE `test` ADD PRIMARY KEY(`test1`, `test2`, `test3`, `test4`, `test5`, `test6`, `test7`);

위와 같이 primary key 제거 후 수행

 

 

DROP과 ADD를 나눠서 할 경우 primaryKey가 없어지는순간 데이터가 들어가게되면 문제가 발생할 수 있으므로

ALTER TABLE `test` DROP PRIMARY KEY, ADD PRIMARY KEY(`test1`, `test2`, `test3`, `test4`, `test5`, `test6`, `test7`);

트랜잭션을 생각하여 위 쿼리가 안전할듯

728x90
반응형