Идентификаторы с автоматическим приращением сохраняются в виде целых или длинных целых данных. Одна из причин этого заключается в том, что этот формат компактен и экономит место, в том числе в индексах, которые обычно включают первичный ключ для использования с объединениями и тому подобное.
Если вы хотите создать красивый идентификатор в соответствии с синтаксисом определенного формата, вам нужно самостоятельно управлять генерацией идентификаторов и сохранять их в «обычном» столбце, а не в автоинкрементном.
Я предлагаю вам продолжать использовать "некрасиво выглядящие" идентификаторы, независимо от того, увеличиваются они автоматически или нет, и форматировать эти значения только для целей отображения, используя любой формат, который вы пожелаете, включая некоторый формат, в котором используются значения из нескольких столбцов. В зависимости от системы базы данных, которую вы используете, вы можете объявить пользовательские функции на уровне самой базы данных, что позволит вам получить легко форматированное значение с помощью простого запроса (как в
ВЫБЕРИТЕ MakeAFancyId (id_field), some_other_columns, ..
ОТ ...
Если вы не можете использовать некоторые встроенные или пользовательские функции на уровне SQL, вам нужно отформатировать значение, предоставленное SQL (целое число), в желаемый формат на стороне клиента, используя язык, связанный с вашим пользовательским интерфейсом / структурой представления.