목록(목록페이지)에 표기된 순번으로 키 값 역추적해서 해당 데이터 수정하는 프로그램 만드는중인데

그걸 엑셀에서 불러와서 일괄로 처리하고있음

근데 내가 작성한게 마음에 들지 않아서 한번 질문해봄


tbl_target

COLUMN

TYPE

KEY_NO

INT(10)

CONTENT

VARCHAR(100)



UPDATE tbl_target 

SET CONTENT = 'change content'

WHERE

KEY_NO = (

SELECT T.KEY_NO

FROM (

SELECT KEY_NO, @rownum:=@rownum:+1 AS VIEW_NO

FROM tbl_target, (SELECT @rownum:=0)

ORDER BY KEY_NO DESC

) T

WHERE T.VIEW_NO = #{목록에서 보이는 순번}

)


지금 집이라서 잘 기억은 안나는데 대충 저렇게 작성한것같음

대강 요약하면 어차피 목록 페이지에 있는 행들은 키값의 내림차순이니까

키값 내림차순으로 서브쿼리 받아서 각 행마다 순번때리고

목록 페이지에서 봤던 순번을 비교해서 같은 순번이면 키값 찾아서 수정하는 방식인데

혹시 다른 방식 있음?