DataBase/MySQL
[DataBase] MySQL 복합키 설계
Black Mint
2021. 12. 18. 23:26
728x90
문제점 : USERINFO의 PK(기본키)를 참조해서 BOARD에 FK를 만들려고하는데 지속적으로 오류가 발생했다.
- 오류의 이유는 기존 USERINFO테이블의 PK를 id컬럼에만 적용하고는 BOARD 테이블에서 USERINFO테이블의 username컬럼을 참조하려고해서 그랬다.
해결 : USERINFO테이블의 기본키를 id와 username 두 개를 설정하여 해결했다. (id를 해제하려했으나 Auto Increment는 PK가 적용된 컬럼만 된다고 한다.)
* 복합키 : 이렇게 2개의 컬럼을 PK로 지정하면 이를 복합키라고 한다.
수정 후 테이블 상태 (BOARD 테이블의 writer_id와 writer는 각각 USERINFO의 id와 username 컬럼을 참조한다.)
USERINFO 테이블
BOARD 테이블