테이블구조
이름 | 내용 |
idx | 고유번호 |
grpNo | 그룹번호(원글번호) |
grpOrd | 출력순서 |
depth | 게시물 깊이 |
bTitle | 게시물 제목 |
일반등록
grpNo = 0, grpOrd = 0, depth = 0 으로 등록
데이터 등록이후 grpNo 값을 현재 등록한 게시물의 고유번호 값으로 update
답글등록
1. 원글에 대한 정보(grpNo, depth) 를 가져와서 데이터 등록시 grpNo, depth+1
2. 등록하고자 하는데이터가 최종 데이터 인지 확인
select min(grpOrd) from BOARD where idx = 부모 idx
and grpOrd > 부모 grpOrd
and depth <= 부모 depth
3-1. 등록하고자 하는 데이터가 최종 데이터인 경우(최종 grpOrd 값으로 등록)
select max(grpOrd) from BOARD where grpNo = 부모 grpNo
grpNo = 결과값 + 1
3-2. 등록하고자 하는 데이터가 최종이 아닌경우(중간에 끼어들어가는 경우)
grpNo = 2에서 나온 min 데이터
update BOARD set grpOrd = grpOrd + 1 where grpNo = 부모 grpNo
and grpOrd >= 부모 grpOrd
이후 grpOrd의 값을 모두 +1 처리
댓글 영역