Ако използвате MyISAM, тогава можете да създадете съставен първичен ключ в текстово поле + поле за автоматично увеличение. MySQL ще се справи с увеличаването на числото автоматично. Те са отделни полета, но можете да получите същия ефект.
CREATE TABLE example (
company_name varchar(100),
key_prefix char(4) not null,
key_increment int unsigned auto_increment,
primary key co_key (key_prefix,key_increment)
) ENGINE=MYISAM;
Когато правите вмъкване в таблицата, key_increment
полето ще се увеличава въз основа на най-високата стойност въз основа на key_prefix
. Така че вмъкнете с key_prefix
"smit" ще започне с 1 в key_inrement
, key_prefix
"jone" ще започне с 1 в key_inrement
и др.
Плюсове:
- Не е нужно да правите нищо с изчисляването на числа.
Минуси:
- Имате ключ, разделен на 2 колони.
- Не работи с InnoDB.