목록(목록페이지)에 표기된 순번으로 키 값 역추적해서 해당 데이터 수정하는 프로그램 만드는중인데
그걸 엑셀에서 불러와서 일괄로 처리하고있음
근데 내가 작성한게 마음에 들지 않아서 한번 질문해봄
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 = #{목록에서 보이는 순번}
)
지금 집이라서 잘 기억은 안나는데 대충 저렇게 작성한것같음
대강 요약하면 어차피 목록 페이지에 있는 행들은 키값의 내림차순이니까
키값 내림차순으로 서브쿼리 받아서 각 행마다 순번때리고
목록 페이지에서 봤던 순번을 비교해서 같은 순번이면 키값 찾아서 수정하는 방식인데
혹시 다른 방식 있음?
댓글 0