Etc.
[MySQL / MariaDB] Name 'constraint_name' ignored for PRIMARY key.
haehyun
2021. 11. 18. 00:31
728x90
에러
CREATE TABLE 문을 사용해 테이블을 생성하는 과정에서 아래와 같은 메시지가 출력됐다.
아래는 선수 정보를 저장하는 PLAYER 테이블의 생성 SQL문이다.
Name 'player_id_pk' ignored for PRIMARY key.
원인
기본키(PK) 제약조건을 지정하는 아래 문장때문에 발생하는 에러로, 기본키(Primary Key) 제약조건은 'PRIMARY'라는 이름을 기본으로 사용하기 때문에 내가 지정한 제약조건명(player_id_pk)를 무시하겠다는 뜻의 메시지이다.
CONSTRAINT player_id_pk PRIMARY KEY (player_id)
제약조건명 생략시 DEFAULT값
- PRIMARY KEY : 'PRIMARY'
- FOREIGN KEY : '테이블명_ibfk_1', '테이블명_ibfk_2', ....
해결
위와 같은 메시지가 표시되어도 테이블은 정상적으로 생성되기 때문에 별다른 조치는 필요없으나,
위 메시지대로 앞으로는 PK 제약조건 선언 시 별도 제약조건명을 지정해주지 않으면 된다.
CREATE TABLE player(
player_id char(7) NOT NULL,
player_name varchar(20) NOT NULL,
team_id char(3) NOT NULL,
e_player_name varchar(40),
nickname varchar(30),
join_yyyy char(4),
position varchar(10),
back_no TINYINT,
nation varchar(20),
birth_date date,
solar char(1),
height SMALLINT,
weight SMALLINT,
CONSTRAINT PRIMARY KEY (player_id));
728x90