테스트 사이트 - 개발 중인 베타 버전입니다

0부터 14776336까지를 일률적으로 62로 나눠서 62 이내로 나오게 할수 있을까요? 채택완료

검은아이 11년 전 조회 7,990
짧은 URL을 구현하려고 합니다.
미리 URL을 다 입력해 놓는 방식을 먼저 구현하려고 합니다.
그때그때 요청 들어오면 URL 생성하는건 이거 끝나고 하려고요.
 
 
62개의 문자를 사용하려는데요.
1부터 14776336번 ROW가 있습니다.
이걸 62 단위로 나누고 결과값이 62 이내로 나오게 하려고 합니다.
62로 나누고 62가 넘으면 63이 되는게 아니라 1이 되게요.
63 = 1
64 = 2
65 = 3
66 = 4
mysql 테이블에 primary key 로 저장된 번호를 62로 나눠서 저리 만들고 싶어요.
 
 
지금 하려고 보니
UPDATE _surl_li SET n_3=floor((num-63)/62); UPDATE _surl_li SET n_3=n_3-62 WHERE n_3>62;
이 방식은 "UPDATE _surl_li SET n_3=n_3-62 WHERE n_3>62;" 이 쿼리를 23만번 해야 다 62 이내로 나오니 너무 비효율적인것 같아요.
 
 
쿼리를 적게 써서 63 64 65 66 이 아니라 62 넘으면 다시 12 3 4 5로 결과값 나오게 하는 쿼리문 부탁드립니다.
 
 
이런 경우는 처음하는거라 생각이 안나네요.
댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
편리
11년 전
로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

검은아이
11년 전
오~ 편리님의 답변
감사합니다.
역시 메뉴얼 먼저 찾아봐야 하는군요.

댓글을 작성하려면 로그인이 필요합니다.

7년 전

저도 평소에 궁금해 하던거에요~ ^^;

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인