댓글은 Comment 테이블에 등록한다. 댓글은 게시글에 대한 댓글이 등록되는 것이기 때문에 게시글이 없을 경우 댓글 또한 존재할 수 없다. 그러므로 댓글 레코드는 게시글의 정보를 항상 포함하여야 한다.
게시글에 대한 정보는 Board 테이블의 레코드에서 고유한 숫자 값을 지니는 기본키인 idx
로 사용할 수 있다. 그리고 Comment 테이블에는 parentIdx
필드가 존재한다. Board 테이블의 idx
필드 데이터를 Comment 테이블의 parentIdx
에 저장하여 게시글에 대한 고유 번호를 저장할 수 있다. 이를 이용해 트리거를 생성한다.
Comment → Triggers 마우스 우클릭, Create New Trigger
CREATE DEFINER=`cube`@`%` TRIGGER on_comment_insert
AFTER INSERT
ON Comment FOR EACH ROW
BEGIN
UPDATE Board SET Board.commentCnt = Board.commentCnt + 1
WHERE Board.idx = NEW.parentIdx ;
END
CREATE DEFINER=`cube`@`%` TRIGGER on_comment_delete
AFTER DELETE
ON Comment FOR EACH ROW
BEGIN
UPDATE Board SET Board.commentCnt = Board.commentCnt - 1
WHERE Board.idx = OLD.parentIdx ;
END
Ctrl + S
로 저장