Как создать шестидесятидвухричную последовательность в postgresql?

Доброго времени суток. Подскажите, как создать в postgresql последовательность с основанием 62 для первичного ключа? Т.е, например, первая запись в таблице будет с ID="1", 35-я запись - ID="Z", 287-я запись - ID="4d", 13777-я запись - ID="3aD" и т.д. Заранее спасибо за ответ.
  • Вопрос задан
  • 239 просмотров
Решения вопроса 1
BuriK666
@BuriK666
Компьютерный псих
Сделайте функцию конвертации int в 62base text
Сделайте обычную последовательность SEQUENCE
и default int_to_62base(nextval('lala_seq'::regclass))
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
leahch
@leahch
3D специалист. Dолго, Dорого, Dерьмово.
А по хорошему никак не создать с использованием текстовых символов таблицы ASCII.
Там всего 36 символов для букв и чисел, так что придется обломаться
>>> int("1234567890",62)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: int() base must be >= 2 and <= 36
>>> int("1234567890",36)
107446288850820L
>>>

Или скажите, какой будет 36 и 37 записи?! Ну и 60-я и 61-я конечно.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы