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.