UPDATE
테이블
SET
SORT_NUM = (@sortnum:=@sortnum+1)
WHERE
(@sortnum:=0)>=0 AND
id != #{id}
ORDER BY
SORT_NUM ASC, ID DESC
#{id} 파라미터는 방금 insert 된 id 이다.
방금 insert 된 id 를 제외하고 나머지는 1부터 순차적으로 업데이트!
WHERE 절에 변수를 초기화 한 뒤
SET 절에 1씩 증가하면서 입력한다.
단, 이전 정렬순서를 유지한 채로 정렬이 되어야 한다.
ORDER BY 절에는 정렬 기준 컬럼인 SORT_NUM 으로 정렬한 뒤
ID는 순차증가이므로 가장 최신 SORT_NUM 다음으로 정렬 기준이 되며,
역순 정렬을 해줘야 한다.
오래 전에 배웠던 UPDATE ~ ORDER BY 구문이 유용하겠다 생각했는데
오늘 사용하게 되는군.
참고 사이트 : https://lifecurat.com