создание формата первичного ключа - PullRequest
0 голосов
/ 29 апреля 2010

как мне создать первичный ключ для учетной записи в таком формате:

ABC-123

ABC-124

ABC-125

другой пример:

BCA-111

ВСА-112

BCA-113

и т. Д.

кстати, я использую mysql. Можно ли сделать автоинкремент при использовании этого формата?

1 Ответ

0 голосов
/ 29 апреля 2010
CREATE TABLE foo (
  prefix CHAR(3) NOT NULL,
  num    TINYINT NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (prefix, num)
) ENGINE=MyISAM;

Это не хранит обе части формата ключа, который вы описали в одном столбце, но поддерживает автоинкремент. И вы можете получить формат как это:

SELECT CONCAT_WS('-', prefix, num) AS pkey ... FROM foo;

Обратите внимание, что InnoDB не поддерживает составные первичные ключи с автоинкрементом.

Подробнее см. Использование AUTO_INCREMENT .

...