안녕하세요 게시판 답글을 만들고 있는데요
디비는 이렇게 해놨고 제가 하고싶은건 답글이 달렸을 때 원글 바로 밑에 답글이 등록되게 하고 싶습니다
(원래는 b_idx = 40인 원글 1번의 답글이 40이 아니라 36이 되게요..)
머리를 짜내서
UPDATE board
SET b_idx = b_idx(원글의 b_idx) + 1
WHERE b_order > 0
이렇게 쿼리문을 작성해봤는데 primary key가 곂치기 때문에 실행이 안되고 이 쿼리문이 실행되기 전에
답글이 달리는 원글을 제외한 다른 게시물의 b_idx가 먼저 커질 수 있게 쿼리문을 작성해서 실행시켜야
한다고 생각이 드는데 이게 맞는지도 잘 모르겠습니다 ㅠㅠ
서브쿼리를 써야하나요? 도움 부탁드려요 ..ㅠㅠㅠ
글쓴이처럼 구현하시면 안되고 그냥 b_idx 는 키라서 업데이트가 되질 않습니다 충돌이 나게 됩니다.
그대로 두시고...
order by b_group
으로 정렬하셔야 합니다.
글쓰신대로 알려드릴 순 있지만 그럼 나중에 글이 1000개 넘어가면 1번에 글에 누가 댓글을 달면
999개 글을 업데이트 해야하는 상황이 올겁니다.