더북(TheBook)

comments 테이블에는 id, commenter(댓글을 쓴 사용자 아이디), comment(댓글 내용), created_at(로우 생성일) 컬럼이 있습니다.

commenter 컬럼에는 댓글을 작성한 사용자의 id를 저장할 것입니다. 이렇게 다른 테이블의 기본 키를 저장하는 컬럼을 외래 키(foreign key)라고 합니다. CONSTRAINT [제약조건명] FOREIGN KEY [컬럼명] REFERENCES [참고하는 컬럼명]으로 외래 키를 지정할 수 있습니다.

comments 테이블에서는 commenter 컬럼과 users 테이블의 id 컬럼을 연결했습니다. 다른 테이블의 기본 키이므로 commenter 컬럼에 인덱스도 걸어봤습니다.

그 후 ON UPDATEON DELETE는 모두 CASCADE로 설정했습니다. 사용자 정보가 수정되거나 삭제되면 그것과 연결된 댓글 정보도 같이 수정하거나 삭제한다는 뜻입니다. 그래야 데이터가 불일치하는 현상이 나타나지 않습니다.

다음 명령어로 users 테이블과 comments 테이블이 제대로 생성되었는지 확인합니다.

콘솔

mysql> SHOW TABLES;

▲ 그림 7-35 SHOW 명령어 결과

comments와 users, 이렇게 두 개가 나오면 성공입니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.