모든 행의 고유 ID (RowID)가있는 데이터베이스 테이블이 있습니다.6 자의 고유 한 문자열에 고유 번호 매핑
이 RowID를 항상 길이가 6 자의 고유 키로 변환하는 좋은 방법이 있습니까? 고유 한 키 문자는 {A-Za-z0-9} 일 수 있습니다. 고유 키의 한 예는 a5Fg3A입니다.
물론이 메서드를 사용하여 생성 할 수있는 키의 수는 일정하지만 그 경우는 중요하지 않습니다.
나는 이것에 대해 많은 생각을했지만 올바르게 처리 할 수있는 알고리즘을 생각해 낼 수 없습니다. 내가 가진
하나 개의 아이디어였다 123 000,123 1가에있는 숫자 다음
000001된다되고 : ROWID 예를 들어, 다음의 앞에 0을 추가 100000보다 낮은 경우 고유 키 =이 을 ROWID 100000 ~ 900000 범위의 첫 번째 숫자를 문자열로 바꿉니다. 예 : 0 = a, 1 = b, 2 = c, ..., 9 = j이다.
그럼 난
내 문제는 내 알고리즘은 매우 제한하고 가능한 모든 문자를 사용하지 않기 때문에 키의 낮은 수를 생성하는 등등, 대문자와 동일 할 수있다.
기본적으로 56800235584 개의 고유 키를 생성 할 수 있어야합니다. 각 키의 길이는 6이고 다음 문자를 사용합니다. {A-Za-z0-9}.
A-Z = 26 개 문자 A-Z = 26 개 문자 0-9 = 10 문자
그래서 62^6 고유 키
이다.모든 의견이이
감사합니다 :-) (또는 최적의)가 제대로 수행하는 방법에 주시면 감사하겠습니다!
숫자를 기본 62 표현으로 변환하는 방법을 찾고 계시지 않습니까? –
그건 맞아요, 그 속임수를했습니다. 감사! – raRaRa