상황설명
sample이란 테이블을 만들어주기 위해서 HeidiSQL을 사용해 아래의 코드를 실행시켰다.
CREATE TABLE sample(
product_a CHAR(10),
product_b CHAR(10),
product_c CHAR(10) NOT NULL,
product_d CHAR(10) NOT NULL,
CONSTRAINT product_category_group_pk PRIMARY KEY (product_a, product_b)
);
그리고 얻은 에러
이 에러창을 만났다고 해서 테이블이 생성되지 않은 것은 아니다.
이유는 아래에!
에러가 생긴 이유
위에 내가 테이블을 만들어주려고 짠 쿼리문을 잘 살펴보면,
나는 pk를 구성하는 칼럼을 2개로 만들어주었고 그 앞에 이름(product_category_group_pk)을 붙여주려고 했었다.
CONSTRAINT product_category_group_pk PRIMARY KEY (product_a, product_b)
그래서 생긴 에러다!
즉, 내가 pk값에다가 이름을 붙여주려해도 어쨌든 결국엔 PRIMARY KEY라는 이름으로서 보여질 것이기 때문에 무시했다(ignored)는 말이다.
다음에 같은 실수를 해도 결국엔 테이블이 잘 만들어지긴 할것이다.
하지만 정확히 알고 넘어가자!
아래의 코드는 내가 임의로 pk에 붙여준 이름을 삭제한 상태의 코드!
이 코드로 테이블을 만들어주면 에러없이 테이블을 만들 수 있다.
CREATE TABLE sample(
product_a CHAR(10),
product_b CHAR(10),
product_c CHAR(10) NOT NULL,
product_d CHAR(10) NOT NULL,
CONSTRAINT PRIMARY KEY (product_a, product_b)
);