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


2개의 컬럼을 기본키로 설정하려 드니 에러가 나오더군요.

 

ERROR 1068 (42000): Multiple primary key defined


원인

저의 경우 filed1은 이미 primary key로 지정이 되어있었고, filed2를 추가로 primary key로 지정하려 했는데 위 에러가 뜨더라구요.

확인을 해보니 field2의 not null설정이 안되어 있어 일어나는 문제였습니다. (null가능 상태)

 

 

해결

위 에러가 나온다면 우선 설정하고 싶은 primary key의 값이 null이 가능한지 아닌지를 확인하시고,

null이 불가능한 상태에서도 변경이 이루어지지 않는다면, 기존에 설정된 primary key를 제거 후 다시 설정해주세요.

 

예) table에 field1, field2, field3가 있으며, field1이 primary key로 잡혀있을 때 field1과 field2를 묶어 primary ket로 설정하고 싶을 때

 

 - field2의 Null 허용 상태가 NO인지 YES인지 체크를 합니다.

desc [table name];

 -- 만약 filed2의 Null 허용 상태가 YES라면 NO로 변경해줍니다.

alter table [table name] modify [field name] [field type] not null;

 - table의 설정된 primary key를 제거해줍니다.

alter table [table name] drop primary key

- field1과 field2를 primary key로 지정합니다.

alter table [table name] add primary key([field1], [field2]);

생각보다 별거 아닌거가지고 에러를 많이 만나네요 ㅠㅠ

 

버전정보 (v1.0)

 - v1.0 2020.08.15 배포

 

* 저작권에 위반될 수 있는 컨텐츠(이미지, 동영상 등)나 게시글은 삭제되거나 수정될 수 있습니다.

* 문제의 여지가 될 수 있는 컨텐츠의 경우 댓글 달아 주시면 빠른 시일 내에 조치하도록 하겠습니다.

* Karzin은 항상 공부중입니다. 설명이 틀리거나 잘못된 부분이 있다면 의견내주시는대로 수정하도록 하겠습니다.

 

Karzin

abbeea@naver.com

 

+ Recent posts