일단 db 설계부터 들어가야합니다.
댓글기능 db 추가할때
CREATE TABLE board.comment ( id INT PRIMARY KEY AUTO_INCREMENT, board_id INT, writer VARCHAR(255), content TEXT, created_at TIMESTAMP );
으로 추가 했고
게시글(board)과 댓글(comment)은 각각 1:N의 관계가 되어야 하며,
관계를 매핑해주기 위해서는 테이블에 FK(Foreign Key) 제약조건을 추가해 주어야 합니다.
댓글 테이블의 게시글 번호(board_id) 컬럼이 게시글 테이블의 PK(id)를 참조할 수 있도록
DBMS 툴에서 다음의 스크립트를 실행
use board;
ALTER TABLE comment ADD CONSTRAINT FK_comment_board
FOREIGN KEY (board_id)
REFERENCES board (id)
ON DELETE CASCADE;
(최강 gpt형님한태 조언을 구했죠 이건 나중에 왜 이렇게 설정하는지 하나하나 보는건 다음에 해봅시다.)
위 스크립트에서 FK_comment_board는 이 외래 키 제약 조건의 이름을 나타내며, comment 테이블의 board_id 컬럼이 board 테이블의 id 컬럼을 참조하도록 설정하고 있습니다. ON DELETE CASCADE는 부모 테이블에서 해당 레코드가 삭제될 때, 참조하는 자식 테이블의 레코드도 같이 삭제되도록 설정합니다. 이 설정을 통해, 게시글이 삭제될 때 해당 게시글의 모든 댓글도 함께 삭제됩니다.
하고 드래그 한다음 컨트롤 엔터 누르면
밑에 잘되었다고 뜹니다.
'Spring > 게시판 CRUD + 추가기능들' 카테고리의 다른 글
게시글 수정 (0) | 2023.03.29 |
---|---|
게시글 상세조회 (0) | 2023.03.28 |
게시글 목록 (0) | 2023.03.28 |
게시글 작성 (0) | 2023.03.27 |
게시판 댓글 기능 추가 (ajax) (0) | 2023.02.17 |