Jeśli używasz MyISAM, możesz utworzyć złożony klucz podstawowy w polu tekstowym + pole automatycznego przyrostu. MySQL zajmie się zwiększaniem liczby automatycznie. Są to osobne pola, ale możesz uzyskać ten sam efekt.
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;
Kiedy robisz wstawkę do tabeli, key_increment pole będzie się zwiększać na podstawie najwyższej wartości na podstawie key_prefix . Więc wstaw z key_prefix "smit" zacznie się od 1 w key_inrement , key_prefix „jone” zacznie się od 1 w key_inrement itp.
Plusy:
- Nie musisz nic robić z obliczaniem liczb.
Minusy:
- Masz klucz podzielony na 2 kolumny.
- Nie działa z InnoDB.