すべての行が一意のID(RowID)を持つデータベーステーブルがあります。
このRowIDを常に6文字の長さの一意のキーに変換する良い方法はありますか。一意のキー文字は{A-Za-z0-9}にすることができます。一意のキーの1つの例は、a5Fg3Aです。
もちろん、この方法を使用して生成できるキーの数は限られていることはわかっていますが、私の場合は問題ではありません。
私はこれについてよく考えましたが、これを適切に行うことができるアルゴリズムを思い付くことができません。
私が持っていたアイデアの1つは次のとおりです。一意キー=RowIDRowIDが100000未満の場合、その前に0を追加します。例:123は000123になります1は000001になります
次に、100000から900000の範囲の数値の場合、最初の数値を文字列に置き換えます。たとえば、0 = a、1 = b、2 = c、...、9=jです。
そうすれば、大文字などでも同じことができます。
私の問題は、アルゴリズムが非常に制限されており、可能なすべての文字を使用しないため、生成されるキーの数が少ないことです。
したがって、基本的に、すべてのキーの長さが6であり、次の文字を使用すると仮定して、56800235584の一意のキーを生成できるはずです:{A-Za-z0-9}。
AZ=26文字az=26文字0-9=10文字
つまり、62^6の一意のキーです。
これを適切に(または最適に)行う方法についてのフィードバックをいただければ幸いです:-)
ありがとう!