Автоматически добавлять буквы перед автоинкрементным полем - PullRequest
3 голосов
/ 10 марта 2012

Можно ли прикрепить письмо перед автоинкрементом в MySQL. У меня есть несколько таблиц в моей базе данных, некоторые из которых имеют уникальный идентификатор, созданный с помощью автоинкремента. Я хочу, чтобы можно было различать автоматически сгенерированные числа по букве спереди.

Это не особенность, которая абсолютно необходима, а просто поможет облегчить выполнение небольших задач.

Ответы [ 3 ]

3 голосов
/ 10 марта 2012

Вы можете создать представления для таблиц, которым требуются отличительные буквы перед их значениями идентификатора, и прочитать таблицы через представления:

CREATE VIEW VTableA
AS
SELECT
  CONCAT('A', ID) AS ID,
  <i>other columns</i>
FROM TableA

То же самое для других таблиц.

3 голосов
/ 10 марта 2012

К сожалению, вы не можете этого сделать. По крайней мере, не в sql. Поле автоинкремента имеет целочисленный тип, поэтому добавление туда буквы нарушает ограничение.

Вы можете взглянуть на ссылку ниже, чтобы найти решение этой проблемы.

MySQL с автоинкрементом плюс буквенно-цифровые символы в одном столбце

Я надеюсь, что это поможет вам в правильном направлении.

0 голосов
/ 02 марта 2018

Лучший ответ, вероятно, зависит от того, что вы подразумеваете под буквенно-цифровым идентификатором. Увеличивается ли альфа-часть каким-либо образом, и если да, то каковы правила для этого? Если альфа-часть является статической, то она даже не нужна в БД: просто добавьте ее к числовому идентификатору при ее выводе (возможно, используя [s] printf () или аналогичные функции для добавления нулей, чтобы это было фиксированным длина?). Не зная полного требования, мы все просто размышляем

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...