[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
'컴퓨터 이야기 > Database' 카테고리의 다른 글
[Mybatis, MariaDB, MySQL] 에러해결 : Table ~~~ doesn't exist (0) | 2020.08.06 |
---|---|
[Database] 데이터 모델 이란? (0) | 2020.06.19 |
[MySql, MariaDB] Spring Boot 연동시 타임존 에러 해결 (0) | 2020.01.10 |
[Mysql, MariaDB] 계정 생성 및 권한 부여하기 (0) | 2020.01.07 |
[Oracle, Tibero]DBLink 생성 및 삭제 (0) | 2019.12.26 |